在不进行时区转换的情况下使用MomentJs显示日期时间

Display datetime with MomentJs without timezone conversion(在不进行时区转换的情况下使用MomentJs显示日期时间)

本文介绍了在不进行时区转换的情况下使用MomentJs显示日期时间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有时我会在已调整为特定时区的网站的前端显示一个日期时间,并且我希望完全按原样显示它,而不考虑用户的时区。

例如,假设我有这样的日期:

2015-01-22T16:11:36.36-07:00

-07:00表示它在山间时间,MomentJs知道这一点,并会自动调整以适应其他时区的用户。例如,假设我用以下代码显示日期时间:

moment('2015-01-22T16:11:36.36-07:00').format('l LT')
用户在中部时间(-06:00)看到的时间是下午5:11,而不是下午4:11如何告诉MomentJs不要根据用户的时区进行调整并按原样显示日期时间?

推荐答案

使用Moment的utc()方法删除时区并以世界时显示所有内容。

moment.utc('2015-01-22T16:11:36.36-07:00').format('l LT')

这将显示没有任何时区偏移的UTC时间。如果要显示用户/服务器时区中记录的时间,可以在构造Moment实例时解析区域信息,并让它使用解析的字符串中记录的时区。

moment.parseZone('2015-01-22T16:11:36.36-07:00').format('l LT');
使用这两种方法中的任何一种,您都应该考虑以某种方式标记时间,以反映时间对应的时区。如果不这样做,可能会给最终用户带来很多困惑。

这篇关于在不进行时区转换的情况下使用MomentJs显示日期时间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:在不进行时区转换的情况下使用MomentJs显示日期时间

基础教程推荐