Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular DatePipe错误地更改了日期_Angular_Angular2 Directives - Fatal编程技术网

Angular DatePipe错误地更改了日期

Angular DatePipe错误地更改了日期,angular,angular2-directives,Angular,Angular2 Directives,在angular2中使用DatePipe时,我观察到一种奇怪的行为。由于某些原因,在通过日期管道运行日期“03/09/1992”后,它被更改为“03/08/1992”: (更新代码:bug修复) 知道为什么会这样吗?还是我误解了什么?问题实际上是日光节约区 Mon Mar 09 1992 00:00:00 GMT-0400 (Eastern Daylight Time) Tue Mar 09 1993 00:00:00 GMT-0500 (Eastern Standard Time) Sat

在angular2中使用DatePipe时,我观察到一种奇怪的行为。由于某些原因,在通过日期管道运行日期“03/09/1992”后,它被更改为“03/08/1992”:

(更新代码:bug修复)


知道为什么会这样吗?还是我误解了什么?

问题实际上是日光节约区

Mon Mar 09 1992 00:00:00 GMT-0400 (Eastern Daylight Time)
Tue Mar 09 1993 00:00:00 GMT-0500 (Eastern Standard Time)
Sat Mar 09 1991 00:00:00 GMT-0500 (Eastern Standard Time)
请注意,GMT偏移是不同的,日期管道似乎会注意到这一点。这使得日期03/09/1992实际上转化为03/08/1992 23:00:00 PM

目前适用于我的一种可能方法(但有自己的问题)是使用UTC:

new Date(Date.UTC(1992, 2, 9, 5, 0, 0));

以上将确保偏移时间为5,并跨时区标准化

问题实际上是夏令时区域

Mon Mar 09 1992 00:00:00 GMT-0400 (Eastern Daylight Time)
Tue Mar 09 1993 00:00:00 GMT-0500 (Eastern Standard Time)
Sat Mar 09 1991 00:00:00 GMT-0500 (Eastern Standard Time)
请注意,GMT偏移是不同的,日期管道似乎会注意到这一点。这使得日期03/09/1992实际上转化为03/08/1992 23:00:00 PM

目前适用于我的一种可能方法(但有自己的问题)是使用UTC:

new Date(Date.UTC(1992, 2, 9, 5, 0, 0));

以上将确保偏移时间为5,并跨时区标准化

Plunker为我显示了正确的日期:DSo当你查看它时,你会看到第一行:“无效日期:03/09/1992”?是的,确切地说,我认为角度日期管有点问题(仍然?),至少在某个时候是这样的。好久没用了:)很有趣。我刚签入IE,它在IE中运行良好-我感兴趣的是
这个.dateType
和另外两个之间的时区差异。如果您在浏览器的开发者工具中运行:
newdate(1991,2,9)
,其他年份也是如此(记住月份是0);你看到了什么?根据链接,不应该有时区差异。Plunker为我显示了正确的日期:DSo当你查看它时,你会看到第一行:“无效日期:03/09/1992”?是的,确切地说,我认为角度日期管道有点问题(仍然?),至少在某个时候是这样的。好久没用了:)很有趣。我刚签入IE,它在IE中运行良好-我感兴趣的是
这个.dateType
和另外两个之间的时区差异。如果您在浏览器的开发者工具中运行:
newdate(1991,2,9)
,其他年份也是如此(记住月份是0);你看到了什么?根据链接,不应该有时区差异。