标签: javascript angularjs
我在AngularJS
AngularJS
var input = '2015-08-04T06:00:00'; var format = 'yyyy MMM dd - HH:mm:ss'; return $filter('date')(new Date(input), format);
但结果是2015 Aug 04 - 08:00:00而不是2015 Aug 04 - 06:00:00这是怎么回事?
2015 Aug 04 - 08:00:00
2015 Aug 04 - 06:00:00
答案 0 :(得分:3)
您的问题不在于AngularJS,而在于使用新的Date()。来自w3schools上的JavaScript文档:
设置日期时,不指定时区,JavaScript 将使用浏览器的时区。换句话说:如果日期/时间是 在格林威治标准时间(格林威治标准时间)创建,日期/时间将被转换 如果用户从美国中部浏览,则到CDT(美国中部夏令时)。
您发生的事情是,您的时间正在转换为浏览器的时区,并假设您将时间设置为GMT。
为证明我的观点,请转到w3schools上的此测试页面并输入您示例中的时间,您将看到显示的结果实际上是不同的。