2015-01-16 45 views
0

使用moment.js驗證日期的問題某些機構可以解釋下面的moment.js代碼的行爲嗎?通過格式

在下面的代碼中,日期驗證正常,並按預期返回false。

moment("32/02/2015", 'DD MM YYYY') 

但是,如果我改變格式如下那麼驗證通過並返回true。

moment("32/02/2015", 'DD MMM YYYY') 
moment("31/02/2015", 'DD MMM YYYY') 

回答

0

不,它與目前的時間沒有關係。檢查你的發佈。

試試:JSFiddle

alert(moment("32/02/2015", 'DD MMM YYYY')) 

然而,標準的解析是「寬鬆」,因此它可以嘗試接受無效的日期。例如(見註釋)31/02/2015被解析爲2年1月31日。您可以強制執行嚴格的解析,並將第三個參數設置爲true

moment("31/02/2015", "DD MMM YYYY") // returns Thu Jan 31 0002 00:00:00 GMT+0100 
moment("31/02/2015", "DD MMM YYYY", true) // returns "Invalid date" 
+0

現在我同意了。但現在它與31/02/1025一樣不存在,但它解析併產生一個日期。 – Venkat