Angular 角度日期格式更改日期
使用Angular 4,我们可以在UI中显示一个日期。当我们从端点获取日期时,它如下所示:Angular 角度日期格式更改日期,angular,date,user-interface,Angular,Date,User Interface,使用Angular 4,我们可以在UI中显示一个日期。当我们从端点获取日期时,它如下所示: 2018-04-03T00:00:00.000Z {{activeRule.startDate | date : 'MMM d, y' : 'UTC' }} 现在,在UI中,只需执行以下操作: activeRule.startDate 显示上述结果 但是,当我尝试使用以下内容格式化该日期时: 2018-04-03T00:00:00.000Z {{activeRule.startDate | dat
2018-04-03T00:00:00.000Z
{{activeRule.startDate | date : 'MMM d, y' : 'UTC' }}
现在,在UI中,只需执行以下操作:
activeRule.startDate
显示上述结果
但是,当我尝试使用以下内容格式化该日期时:
2018-04-03T00:00:00.000Z
{{activeRule.startDate | date : 'MMM d, y' : 'UTC' }}
该规则显示的日期早于
Apr 2, 2018
我尝试添加时区值,但没有任何效果。
奇怪的是,日期格式改变了检索到的值。有人能提供见解和帮助吗?谢谢
我使用矩框架解决了这个问题
rule.startDate = moment(rule.startDate, 'YYYYMMDD').toISOString()
默认情况下,Angular的日期管道将在浏览器的本地时区中显示日期和时间。例如,如果您位于美国东部时区,
2018-04-03T00:00:00.000Z
等于2018年4月2日星期一19:00:00 GMT-0500(EDT)
。在Angular 5中,您可以通过传入时区来覆盖此行为:
{{activeRule.startDate | date : 'MMM d, y' : '+0000'}}
这似乎没有达到预期效果。它仍然显示提前一天。这完全是一个角度5的东西吗?可能是。管道的国际化在5年发生了变化。您可以在此处阅读更多信息:@RunFranks525在Angular 5.0.0中运行良好:。你为什么不发布一个完整的例子来重现这个问题?@JBNizet我们的应用程序是Angular 4应用程序,管道的更改似乎是Angular 5升级的一部分,所以我们无法利用它。话虽如此,我继续使用矩框架,并找到了一个很好的修复方法。将相应更新。啊,对不起,我以为你在使用Angular 5。你为什么不升级?升级很容易,无论如何,你最终还是要做的。