我有以下幾點:
const input: string = '2021-11-2T10:20:00 01:00';
const date: string = moment( input ).format('YYYY-MM-DD');
const time: string = moment( input ).format('HH:mm');
請有人告訴我為什么我會同時為“日期”和“時間”回傳“無效日期”?
據我所知,“輸入”字串是標準日期格式(瞬間給了我這種格式)。
uj5u.com熱心網友回復:
注意前導零(RFC2822/ISO格式要求)。您可以使用Date建構式驗證日期字串:
new Date('2021-11-2T10:20:00 01:00') // Invalid Date (because of date = '2' instead of '02')
new Date('2021-11-02T10:20:00 01:00') // Tue Nov 02 2021 11:20:00 GMT 020 (works fine!)
moment實體相同:
moment('2021-11-2T10:20:00 01:00') // invalid (error or deprecation warning depends on 'moment' version)
moment('2021-11-02T10:20:00 01:00') // valid
UPD:關于具有有用鏈接的標準的文章
uj5u.com熱心網友回復:
您正在使用的稱為時間戳記。有錯誤。因此時間戳記采用以下格式:
YYYY-MM-DDThh:mm:ssZZ
您一天中缺少一個“0”:
2021-11- 0 2T10:20:00 01:00
然后你可以這樣做:
const fullDate = moment('2021-11-02T10:20:00 01:00')
const date = moment( input ).format('YYYY-MM-DD')
const time = moment( input ).format('HH:mm')
注意我洗掉了: string。你不需要定義打字 btw。可以推斷出來。
uj5u.com熱心網友回復:
我使用的輸入字串不知何故無效。當我使用“2021-11-02T14:43:59 00:00”時,它作業正常。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/345097.html
標籤:javascript 打字稿 瞬间
上一篇:如何重構兩種不同型別子類的實作,同時保留其方法的功能和命名?
下一篇:處理陣列中的資料的問題,反應
