我注意到当我使用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个。
有人可以解释这种行为吗?再次,它似乎是时区特定的。
答案 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有关。你可以验证吗?