我在 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
这是怎么回事?
最佳答案
您的问题不在于 AngularJS,而在于 JavaScript 对 new Date() 的使用。来自 w3schools 上的 JavaScript 文档:
When setting a date, without specifying the time zone, JavaScript will use the browser's time zone. In other words: If a date/time is created in GMT (Greenwich Mean Time), the date/time will be converted to CDT (Central US Daylight Time) if a user browses from central US.
您遇到的情况是,您的时间被转换为浏览器的时区,并假设您将时间设置为 GMT。
为了证明我的观点,请转到 w3schools 上的此测试程序页面并输入示例中的时间,您会看到显示的结果实际上是不同的。
关于javascript - AngularJS $filter ('date' ) 增加了结果的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36062998/