【问题标题】:Can I format a timezone without the offset using Angular's date pipe?我可以使用 Angular 的日期管道格式化没有偏移的时区吗?
【发布时间】:2020-02-06 18:03:33
【问题描述】:

我目前正在使用日期管道在我的组件中格式化日期:

this.datePipe.transform(myDate, 'M/d/yy H:mm z');

生成的输出如下所示:2/6/20 11:59 GMT-5

有没有办法像这样格式化日期:2/6/20 11:59 GMT,而无需借助字符串操作或库?

Angular 日期管道使用来自客户端计算机的时区,我想保留该功能。

【问题讨论】:

  • 您只是想隐藏偏移量,还是将日期转换为 GMT 并隐藏偏移量?编辑:因为如果您在实际上是 GMT-5 时显示 GMT 会很混乱。
  • 隐藏偏移量是用户要求(在我的示例中为“-5”)。不幸的是,这不是我的决定。
  • 该项目在其他地方使用时刻时区,所以我现在将使用momentjs.com/timezone,尽管我认为这很容易添加为 Angular 的 DatePipe 格式字符串的功能。

标签: javascript angular typescript date-pipe


【解决方案1】:

如果您只是想隐藏偏移量并出于任何原因始终显示 GMT,您可以硬编码而不是使用 z

this.datePipe.transform(myDate, 'M/d/yy H:mm \'GMT\'');

【讨论】:

  • 角度日期管道使用客户端机器的时区,我想保留该功能而不是硬编码值。
  • 但是“客户端机器的时区”只是“GMT”加上偏移量,所以通过使用它然后切断偏移量,你绝对没有任何收获。除非我错过了什么?
  • 正如上面评论中所说,这是出于显示目的的用户要求,不幸的是这不是我的决定。
猜你喜欢
  • 1970-01-01
  • 2020-12-26
  • 2017-11-01
  • 1970-01-01
  • 2013-06-29
相关资源
最近更新 更多