我有这个日期:1386800070703
。我们说它是UTC
如何判断角度是什么时区以及我想要显示的时区?
我目前正在使用tihs,它只转换它而没有任何时区信息:
{{1386800070703 | date:'d MMMM yyyy'}}
并希望能够在日期右侧显示时区。
答案 0 :(得分:11)
在AngularJS(1.3.0)的下一个版本中,您可以通过以下方式指定时区:
{{someDate | date:'d MMMM yyyy Z' : 'UTC'}}
目前,只支持UTC,您可以在文档中看到:https://code.angularjs.org/1.3.0-rc.2/docs/api/ng/filter/date
您可以在此处播放:Plunker example
请注意,即使另有指定,时区也会显示为本地时间。
答案 1 :(得分:3)
这是我写的一个指令:
angular.module('CommonDirectives', []).directive('adjustTimezone', ['$filter', function ($filter) {
return {
restrict: 'A',
scope: {
adjustTimezone: '@'
},
link: function ($scope, element, attrs) {
var date = new Date(attrs.adjustTimezone);
date.setMinutes(date.getMinutes() - date.getTimezoneOffset());
element.text($filter('date')(date, attrs.filter));
}
}
}]);
以下是您使用它的方式:
<span data-adjust-timezone="{{date.MilitaryTime}}" data-filter="EEEE, MMMM d, y h:mm a"></span>
答案 2 :(得分:1)
使用元素 Z
'Z': 4 digit (+sign) representation of the timezone offset (-1200-+1200)
{{1386800070703 | date:'d MMMM yyyy Z'}}