2013-01-23 22 views
6

我注意到,當我使用momentJs在我的時區以特定格式輸出日期時,那一天會丟失。MomentJS .format()在我的時區產生正確的日期-1天

我在UTC-4:30時區。

這不會發生在所有時區;注意到這在UTC-5:00時區正常工作。

以下是的console.log結果依次運行:


正確的輸出:

moment([2013, 0, 24]) 


    _a:數組[8]
    _d:週四Jan 24 2013 00:00:00 GMT-0430(委內瑞拉標準時間)
    _isUTC:假
    _lang:假
    _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

我我的時區設置爲(UTC-4:30) Caracas,然後檢查的值:

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

它正常返回01/24/2013,所以我不能重現您所描述的問題。

我在用moment.js 2.0.0進行檢查。在Google Chrome 27.0.1453.116m上運行的Windows 8上。

也許這與舊版本的moment.js有關。你能驗證嗎?

+0

你在哪裏設置時區? – daydreamer

+0

@daydreamer - 在Windows操作系統時區設置中。 –

相關問題