使用没有时区转换的MomentJs显示日期时间

Sgr*_*ite 20 javascript momentjs

有时我最终会在已经调整到特定时区的网站前端显示日期时间,并且我希望无论用户的时区如何都显示它.

例如,假设我有这个日期:

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

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

moment('2015-01-22T16:11:36.36-07:00').format('l LT')
Run Code Online (Sandbox Code Playgroud)

中心时间(-06:00)的用户将看到时间为下午5:11而不是下午4:11.如何告诉MomentJs不调整用户的时区并按原样显示日期时间?

mus*_*uel 30

使用utc()时刻方法删除时区并在通用时间显示所有内容.

moment.utc('2015-01-22T16:11:36.36-07:00').format('l LT')
Run Code Online (Sandbox Code Playgroud)

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

moment.parseZone('2015-01-22T16:11:36.36-07:00').format('l LT');
Run Code Online (Sandbox Code Playgroud)

使用这些方法中的任何一种,您都应该考虑以某种方式标记时间以反映时间对应的时区.如果不这样做可能会给最终用户带来很多困惑.


mer*_*ove 14

moment().utcOffset(0,true).format()