gpt4 book ai didi

Javascript - 将知道其时区的日期时间转换为 UTC

转载 作者:行者123 更新时间:2023-12-05 04:56:32 25 4
gpt4 key购买 nike

我必须将日期时间(给定时区、年、月、日、小时和分钟)转换为 ISO 字符串。

例如,给定以下参数:

{
timeZone: 'Europe/Paris',
year: 2020,
month: 11,
day: 18,
hours: 14,
minutes: 44,
}

我想构建对应的 ISO 字符串:2020-11-18T13:44:00.000Z(注意那里的时差)

您可以通过 Intl.DateTimeFormattoLocaleDateString/toLocaleTimeString 方法轻松地完成此操作,但这我找不到合适的解决方案的方式...如果我遗漏了任何信息来源,请告诉我。

编辑(见评论):

使用时区而不是 GMT 字符串(例如 'GMT +01:00')的好处是我不必处理时间变化。您可能知道,冬季时区 'Europe/Paris''GMT +01:00''GMT +022:00' 在夏天...而且我找不到将时区映射到任何 UTC 偏移量的正确方法

预先感谢您的帮助

解决方案:

如下所示,使用 Luxon 我们可以做到

const timeObject = { day, month, year, hours, minutes, zone: timeZone };
const date = DateTime.fromObject(timeObject).toUTC().toString();

Matt 还建议了现在的实验性 Temporal功能。

最佳答案

Temporal在你的浏览器引擎中可用(或者如果你使用 polyfill )那么就这样做:

Temporal.ZonedDateTime.from({
timeZone: 'Europe/Paris',
year: 2020,
month: 11,
day: 18,
hour: 14,
minute: 44,
}).toInstant().toString();
// => '2020-11-18T13:44:00Z'

关于Javascript - 将知道其时区的日期时间转换为 UTC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64894427/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com