角度日期格式更改日期

时间:2018-02-27 20:50:21

标签: angular date user-interface

使用Angular 4,我们有一个日期,我们试图在我们的UI中显示。当我们从端点获取日期时,它会如下所示:

2018-04-03T00:00:00.000Z

现在,在用户界面中,只需执行以下操作:

activeRule.startDate

导致显示上述内容。

但是,当我尝试使用以下内容格式化该日期时:

{{activeRule.startDate | date : 'MMM d, y' : 'UTC' }}

规则显示前一天

Apr 2, 2018

我尝试添加时区值,但没有任何效果。 对我来说奇怪的是日期格式会改变检索到的值。有人可以提供见解和帮助吗?感谢。

我使用时刻框架解决了这个问题。

rule.startDate = moment(rule.startDate, 'YYYYMMDD').toISOString()

1 个答案:

答案 0 :(得分:3)

默认情况下,Angular的日期管道将在浏览器的本地时区显示日期和时间。例如,如果您位于美国的东部时区,则2018-04-03T00:00:00.000Z等于Mon Apr 02 2018 19:00:00 GMT-0500 (EDT)。在Angular 5中,您可以通过传入时区来覆盖此行为:

{{activeRule.startDate | date : 'MMM d, y' : '+0000'}}

https://angular.io/api/common/DatePipe