使用angularjs 1.2.26我无法将我的日期输入格式化为所需的时区,例如:http://plnkr.co/edit/CxCqoR3Awcl1NFrCZYjx?p=preview
{{'2015-07-10T12:37:08Z' | date : "MMMM d, y 'at' h:mma Z" : 'America/Bahia'}}
和
{{'2015-07-10T12:37:08Z' | date : "MMMM d, y 'at' h:mma Z" : 'Europe/Paris'}}
根据我的浏览器的本地时区提供了相同的输出,忽略了我设置的时区。
答案 0 :(得分:2)
有两个问题:
时区支持不使用任意TZDB ID。来自v1.4.1的文档:
用于格式化的时区。它理解UTC / GMT和美国大陆时区的缩写,但是对于一般用途,使用时区偏移,例如,'+ 0430'(格林威治子午线以东4小时30分钟)如果未指定,则为时区将使用浏览器。
在v1.3.16中,它更受限制:
用于格式化的时区。目前,仅支持“UTC”。如果未指定,将使用浏览器的时区。
因此,如果您更改要使用的示例:
<script data-require="angular.js@1.4.x" src="https://code.angularjs.org/1.4.2/angular.js" data-semver="1.4.2"></script>
然后:
<span>{{'2015-07-10T12:37:08' | date : "MMMM d, y 'at' h:mma Z" : 'PST'}}</span>
<br/>
<span>{{'2015-07-10T12:37:08' | date : "MMMM d, y 'at' h:mma Z" : 'EDT'}}</span>
(例如)然后你会得到输出:
July 10, 2015 at 3:37AM -0800
July 10, 2015 at 7:37AM -0400
答案 1 :(得分:0)
检查https://code.angularjs.org/1.2.26/docs/api/ng/filter/date
您无法在过滤器中找到与时区相关的任何内容。