gpt4 book ai didi

javascript - 给定时区,luxon 将本地时间转换为 utc

转载 作者:行者123 更新时间:2023-11-30 13:57:37 25 4
gpt4 key购买 nike

数据源有一个没有偏移量的 ISO-8601 日期时间字段。

示例:2019-07-09T18:45

但是,我知道所讨论的时间被理解为在 America/Chicago 时区内。

我怎样才能得到这个 UTC 时间的 Luxon DateTime 对象?

我可以做DateTime.fromISO('2019-07-09T18:45').plus({hours: 5}) ...但这只在半年内有效(就像现在)夏令时。否则偏移量将是 .plus({hours: 6})

Luxon 是否有日期感知(因此 DST 感知)方法来将特定分区本地时间转换为 UTC?

最佳答案

因为您知道输入日期的时区,所以在解析时可以使用 zone 选项。作为fromISO文档状态:

public static fromISO(text: string, opts: Object): DateTime

opts.zone: use this zone if no offset is specified in the input string itself.

然后你可以使用toUTC将您的 DateTime 转换为 UTC:

"Set" the DateTime's zone to UTC. Returns a newly-constructed DateTime.

Equivalent to setZone('utc')

这里是一个活生生的例子:

const DateTime = luxon.DateTime;
const d = DateTime.fromISO('2019-07-09T18:45', {zone: 'America/Chicago'});
console.log(d.toISO());
console.log(d.toUTC().toISO());
<script src="https://cdn.jsdelivr.net/npm/luxon@1.16.0/build/global/luxon.js"></script>

关于javascript - 给定时区,luxon 将本地时间转换为 utc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56927110/

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