它可能無法正確工作。在你的例子中,它工作正常,但在其他情況下,它可能會產生錯誤的結果。 Moment format doc
moment("01.09.2017", "M/D/YYYY").format("M/D/YYYY");
//"1/9/2017"
moment("02-25-1995", "MMM/D/YY").format("MM/DD/YYYY");
//"01/02/2025"
如果需要指定多種格式,你可以通過設置第二個參數爲字符串格式數組做到這一點。 Moment multiple format
moment("29-06-1995", ["MM-DD-YYYY", "DD-MM", "DD-MM-YYYY"]); // uses the last format
moment("05-06-1995", ["MM-DD-YYYY", "DD-MM-YYYY"]); // uses the first format
對於嚴格模式:這個參數影響到解析數據和編號將正確地工作的正則表達式。
//Non strict regular
Hb = /\d\d?/
//Strict regular
Sb = /\d\d/
d = b._strict;
case"MM":
case"DD":
case"YY":
case"GG":
case"gg":
case"HH":
case"hh":
case"mm":
case"ss":
case"ww":
case"WW":
return d ? Sb : Hb;
如果用一個字母總是使用非正規嚴格
case"M":
case"D":
case"d":
case"H":
case"h":
case"m":
case"s":
case"w":
case"W":
case"e":
case"E":
return Hb;
所以嚴格模式將在情況
moment("1/9/1990", "MM/MD/YYYY", true).format("M/D/YYYY")
"Invalid date"
失敗,所有這一切都是在測試版momentjs 2.7.0 在新版本的時刻2.17.1格式嚴格參數使用['MMM', 'MMMM'], ['dd', 'ddd', 'dddd']
做你的意思是[嚴格模式](https://momentjs.com/guides/#/parsing/strict-mode/)? –
是的,謝謝你的糾正。 – mimo