1.问题
后台拿到的dataset.creationTime的值为"2021-11-02T15:58:36.000Z",但是经过“date”管道处理后,显示在前端的时间为“23:58”。
<div>{
{ dataset.creationTime | date: "yyyy-MM-dd" }}</div>
<div>{
{ dataset.creationTime | date: "EEE HH:mm" }}</div>
2.原因
dataset.creationTime="2021-11-02T15:58:36.000Z",在本系统实际含义应该是北京时间,但是系统一般都会把这种格式的时间当成0时区的时间,而Angular默认是美国本地环境,“date”管道自动将其转化为美国时间:“23:58”
3.解决
<div>{
{ dataset.creationTime | date: "yyyy-MM-dd": "UTC+0" }}</div>
<div>{
{ dataset.creationTime | date: "EEE HH:mm" : "UTC+0" }}</div>