如何在不进行本地化的情况下格式化UTC时间戳(Angular 4+)

我正在使用图表来将一些时间序列数据显示为折线图。我需要显示的数据带有UTC时间戳,因此我将highcharts配置为使用UTC。当我使用highcharts集成日期格式器时,此方法效果很好,但我需要在折线图的X轴上显示时间标签,并根据用户设置的语言环境显示不同的格式。因此,我必须实现一个可以注入到highcharts中的自定义标签格式化程序。为此,我使用angular的DatePipe将时间戳格式化为所需格式。

formatter: function () {
  let format = 'HH:mm'; // default format

  if (!!culture) {
    format = culture[this.dateTimeLabelFormat];  // dictionary with formats for various cultures
  }

  var dp = new DatePipe(locale);  // e.g. 'en','de','fr'
  return dp.transform(this.value,format,'UTC'); // this.values is an UTC timestamp e.g. 1573807971000
}

该代码非常有效,但有一个例外-> 夏时制。我希望通过使用utc来避免此问题,但是在2019年3月31日,即使我将DatePipe配置为UTC作为时区,DatePipe也会将UTC的时间戳从02:00 AM格式化为03:00 AM。

这就是折线图的X轴的显示方式(注意03:00已重复):

如何在不进行本地化的情况下格式化UTC时间戳(Angular 4+)

https://stackblitz.com/edit/angular-zj1xwv

无论时区如何,如何格式化UTC时间?

a2271487 回答:如何在不进行本地化的情况下格式化UTC时间戳(Angular 4+)

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3096659.html

大家都在问