角度日期管道考虑时区



我使用日期管道来显示我从Web服务API获得的时间。日期的形式为yyyy-MM-ddThh:mm:ss.000Z,例如2020-08-12T07:06:07.000Z

然而,当我使用角度日期管道{{ arr.time | date:'mediumTime' }}时,显示的时间比给定时间多了三个小时,例如,这里显示的时间是10:06:07。我怀疑这是因为浏览器考虑了我的时区,GMT+3。如何在不考虑时区的情况下显示准确时间?

时区可以在角度日期管道中明确提及。

{{ value_expression | date [ : format [ : timezone [ : locale ] ] ] }}

或者您可以以分钟为单位指定,例如GMT-2,时区:"-120">

{{ yourDate | date: 'mediumTime' : '-120'}}

或者请参考这个答案,它可能会帮助你:-

如何处理Angular 4日期管道的时区问题?

可能有两个条件:

  1. 您得到的日期值是UTC
  2. UTC以外

如果是UTC,则其最后一个字符必须包含"Z"。因此,对于非UTC,我们可以在将其传递到管道之前添加"Z">

这将始终打印收到的日期的任何值

{{arr.time?.charAt(arr.time?.length - 1) === 'Z' ? (arr.time | date:'mediumTime':'UTC') : (arr.time?.concat('Z') | date:'mediumTime':'UTC')}}

尝试在管道中添加时区,

以分钟为单位指定,例如。。。对于GMT+3,时区:180

{{ arr.time | date:'mediumTime' : '180'}}

相关内容

  • 没有找到相关文章