繁体   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