AngularJS在PDT / PST中的显示时间

前端之家收集整理的这篇文章主要介绍了AngularJS在PDT / PST中的显示时间前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
使用 ng-model-optionsdate是否可以设置时区以自动调整夏令时(即根据值在PST和PDT之间切换)?

例如:

<input type="date" ng-model="order.scheduled" ng-model-options="{ timezone: 'PST' }" />
<input type="time" ng-model="order.scheduled" ng-model-options="{ timezone: 'PST' }" />

仅在时间落入标准时间(非日光时间)时才有效.

解决方法

我想你需要moment.tz和帮手功能.奇怪,这不是Angular内置的:

// eg. getOffset(new Date,'America/Los_Angeles') => '-0700'
// (date: Date,timezone: String): String
scope.getOffset = function (date,timezone) {
  return moment
    .tz(date,timezone)
    .format('Z')
    .replace(':','')
}

...
<input
  type="time"
  ng-model="order.scheduled"
  ng-model-options="{
    timezone: getOffset(order.scheduled,'America/Los_Angeles')
  }"
/>

猜你在找的Angularjs相关文章