簡體   English   中英

時刻格式返回無效日期

[英]Moment format returns invalid date

我有一個日期,我使用時刻格式化顯示如下:03/04/2105。 我想再次使用它將它轉換為iso。 結果我寫道:

const IsoDateTo = moment(dateTo).format('YYYY-MM-DD[T]HH:mm:ss');

日期是23/04/2105但IsoDateTo返回的內容如下:2105-03-04T00:00:00當我輸入大於12的日期時,它返回無效日期。 為什么會這樣?

為了確保你正確地解析了你希望將期望的字符串格式傳遞給momentjs的字符串(類似這樣):

const IsoDateTo = moment(dateTo,'DD/MM/YYYY').format('YYYY-MM-DD[T]HH:mm:ss');

你不能只是將任何日期格式投入其中,並期望它神奇地識別格式。 如果您沒有指定和其他格式,Moment.js依賴於JavaScript的日期解析功能。 根據DateMDN規范 ,“dateString”可以是符合IETF的RFC 2822時間戳或ISO8601的版本。 你的日期字符串都不是它。

通常最好使用YYYY-MM-DD等日期格式。

const IsoDateTo = moment('2105-03-04').format('YYYY-MM-DD[T]HH:mm:ss');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM