AngularJS在PDT / PST中的显示时间

时间:2016-03-15 02:59:58

标签: angularjs

使用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' }" />

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

1 个答案:

答案 0 :(得分:0)

我认为你需要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')
  }"
/>