【问题标题】:moment.js give wrong time in diffent timezonemoment.js 在不同的时区给出错误的时间
【发布时间】:2018-07-27 09:41:35
【问题描述】:

纪元时间为 2018 年 7 月 2 日晚上 11 点。 (IST)

> moment('2018-07-02T23:00:00.000').unix()
1530552600

现在当我从 epoch 转换为 IST 时,它增加了 7 分钟。

> moment.unix(1530552600).tz("Asia/Kolkata").format("DD:MM:YYYY HH:MM z");
'02:07:2018 23:07 IST'

当转换为 ET 时区时,它比 IST 时区少 30 分钟。 ET 比 IST 晚 9.5,所以它应该是“02:07:2018 01:30:00 EDT”

> moment.unix(1530552600).tz("America/New_York").format("DD:MM:YYYY HH:MM z");
'02:07:2018 13:07 EDT'

IST

【问题讨论】:

  • “它增加了 7 分钟” - 不,它没有 - 你让它在那个地方输出 month,而不是实际 分钟.

标签: node.js momentjs


【解决方案1】:

您的格式字符串错误,您使用了MM(月)而不是mm(分钟)

试试

moment.unix(1530552600).tz("Asia/Kolkata").format("DD:MM:YYYY HH:mm z");

对于所有其他格式,请参阅moment documentation

【讨论】:

  • 感谢您的帮助,甚至没有注意到这件事,并且在这方面浪费了我太多时间。再次感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-30
  • 2015-03-23
  • 2011-11-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多