2014-12-03 93 views
1

在moment.js,如果我寫:Moment.js - 日期粒度

moment('1998').format('DD MMM YYYY'); 

我得到31 Dec 1997。它似乎將日期向後倒轉。我想說01 Jan 1998

我該怎麼做?它似乎沒有太多的粒度文件。

+0

你能否在你的格式中包含小時/分鐘來查看UTC裝飾器是否會受到阻礙? – user239546 2014-12-03 00:58:53

回答

2

這段代碼也應該給你一個警告,因爲'猜測我使用哪種格式類型'功能的時刻是deprecated

這可能是猜測正確的日期,但由於時區的時差,它會給出這個輸出。嘗試將.utc()添加到您的電話(moment('1998-01-01', 'YYYY-MM-DD').utc().format('DD MMM YYYY'))。

+0

這是'utc()'做到的。謝謝。而且他們把它完全搞砸了:(我知道它是不可預測的,但它對解析用戶輸入很好用。 – dthree 2014-12-03 02:44:26

+0

嗯......我寧願有一些可靠的東西,比追逐臭蟲,例如幾個月和幾天你仍然可以通過定義一個格式列表來實現自己的啓發式,並且可以通過它們來運行,這是更加透明和確定性的。 – orange 2014-12-03 02:54:45

+0

沒錯,我以前做過,但是你會認爲一個類似庫Moment.js也會這樣做,如果是的話,它會比我能做到的要好1000倍。 – dthree 2014-12-03 03:01:27