簡體   English   中英

如何將javascript中的日期轉換成ISO日期格式

[英]how to Convert Date into ISO Date Format in javascript

我有一個這樣的日期,我應該將它們轉換成 ISO 格式

const date = 05/23/2022;

我需要這樣

2022-05-23T00:00:00Z

請注意, .toISOString()始終返回UTC中的時間戳,即使相關時刻處於本地模式也是如此。 這樣做是為了與原生 JavaScript Date .toISOString()的規范保持一致,如ES2015規范中所述。

 let date = '24.05.2022 0:00:00'; let parsedDate = moment(date, 'DD.MM.YYYY H:mm:ss') console.log(parsedDate.toISOString());
 <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.19.1/moment.min.js"></script>

您可以使用String.split()獲取相關日期的日、月和年。

然后我們可以傳遞給Date.UTC() function,然后傳遞給Date()構造函數。 (注意:我們將monthIndex傳遞給 Date 構造函數,這就是我們從 month 中減去 1 的原因)

要顯示為 ISO 字符串,我們可以使用Date.toISOString()

 const [month, day, year] = '05/23/2022'.split('/'); const date = new Date(Date.UTC(year, month - 1, day)); const result = date.toISOString(); console.log('Date (ISO):', result);

我們也可以使用日期/時間庫(例如luxon )輕松地做到這一點。

我們將使用DateTime.fromFormat() function 來解析輸入字符串,將時區設置為“UTC”。

要 output 的 ISO 日期,我們可以使用DateTime.toISO() function:

 const { DateTime } = luxon; const date = DateTime.fromFormat('05/23/2022', 'MM/dd/yyyy', { zone: 'UTC'}); console.log('Date (ISO):', date.toISO())
 <script src="https://cdnjs.cloudflare.com/ajax/libs/luxon/2.3.1/luxon.min.js" integrity="sha512-Nw0Abk+Ywwk5FzYTxtB70/xJRiCI0S2ORbXI3VBlFpKJ44LM6cW2WxIIolyKEOxOuMI90GIfXdlZRJepu7cczA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>

我們也可以在 moment.js 中執行此操作,先使用moment.utc() ,然后使用.toISOString()

 const date = moment.utc('05/23/2022', 'MM/DD/YYYY'); console.log('Date (ISO):', date.toISOString())
 <script src="https://momentjs.com/downloads/moment.js"></script>

暫無
暫無

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

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