我正在使用Moment.js在我的Web应用程序中解析和格式化日期。作为JSON对象的一部分,我的后端服务器将日期从UTC纪元(Unix偏移量)发送为毫秒数。Moment.js:在特定时区中格式化日期
分析日期在特定的时区很容易 - 只需追加RFC 822时区标识字符串结束前解析:
// response varies according to your timezone
moment('3/11/2012 13:00').utc().format("MM/DD HH:mm")
// problem solved, always "03/11 17:00"
moment('3/11/2012 13:00 -0400').utc().format("MM/DD HH:mm")
但我怎么在specifc格式化日期时区?无论浏览器的当前时间如何,我都希望获得一致的结果,但我不希望以UTC显示日期。
Moment不支持这个,但他们正在处理它。 https://github.com/timrwood/moment/pull/671 – Ben 2013-03-11 20:11:53
这应该只是工作。如果你传递包含所需偏移量的时间字符串,那么它应该保留该偏移量并显示给定的本地时间,而不是自动调整到浏览器本地时间。如果我希望它适应浏览器本地时间,那么我会给它一个UTC时间,而不是明确给它一个使用的偏移量。我的意思是......我给它一个明确的偏移量,为什么它基本上把它吃掉,并且自己将它转换为浏览器偏移量。可怕的设计。 – Triynko 2015-08-11 15:26:36
@Triynko偏移量受到夏令时的限制,因此它并不总是按预期工作。 – pinkpanther 2016-08-16 15:25:30