MomentJS .format()在我的时区产生正确的日期-1天

时间:2013-01-23 02:24:24

标签: javascript jquery momentjs

我注意到当我使用momentJs在我的时区输出特定格式的日期时,那一天就会丢失。

我在UTC-4:30时区。

所有时区都不会发生这种情况;注意到这在UTC-5:00时区适用。

以下是console.log结果连续运行:


正确输出:

moment([2013, 0, 24])


_a:数组[8]
_d:2013年1月24日星期四00:00:00 GMT-0430(委内瑞拉标准时间)
_isUTC:false
_lang:false
_proto:对象

moment([2013, 0, 24]).toDate()

2013年1月24日星期四00:00:00 GMT-0430(委内瑞拉标准时间)


输出错误:

moment('01/24/2013').format('MM/DD/YYYY')

“2013年1月23日”

moment([2013, 0, 24]).format('MM/DD/YYYY')

“2013年1月23日”


请注意,一旦使用了.format()方法,就会丢失一天,输出第23个而不是第24个。


有人可以解释这种行为吗?再次,它似乎是时区特定的。

1 个答案:

答案 0 :(得分:0)

我将时区设置为(UTC-4:30) Caracas,然后检查值:

moment('01/24/2013').format('MM/DD/YYYY')

它正确返回01/24/2013,因此我无法重现您描述的问题。

我正在检查moment.js 2.0.0。在Windows 8上运行的Google Chrome 27.0.1453.116m。

也许这与旧版本的moment.js有关。你可以验证吗?