首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在给定时区的情况下将本地时间转换为utc

在给定时区的情况下将本地时间转换为utc
EN

Stack Overflow用户
提问于 2019-07-08 08:29:09
回答 2查看 22.8K关注 0票数 10

数据源具有不带偏移量的ISO-8601日期时间字段。

示例:2019-07-09T18:45

但是,我知道有问题的时间应该是在America/Chicago时区。

我怎样才能在UTC中获得这个时间等价的DateTime对象呢?

我可以做DateTime.fromISO('2019-07-09T18:45').plus({hours: 5})。但这只在一年中的半年(比如现在)才有效,因为现在是夏令时。否则偏移量将为.plus({hours: 6})

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-07-08 14:44:46

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

文本公共静态对象(

:fromISO,opts: Object):DateTime

opts.zone:如果输入字符串本身没有指定偏移量,则使用此区域。

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

将DateTime的区域“设置”为UTC。返回新构造的DateTime。

等效于setZone('utc')

下面是一个实时示例:

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

票数 13
EN

Stack Overflow用户

发布于 2019-07-08 13:34:25

您可以引用以下luxon函数:

https://moment.github.io/luxon/docs/class/src/datetime.js~DateTime.html#instance-get-isInDST

  1. isInDST

检查当前时间是否基于DST!

  1. toUTC :转换为基于协调世界时的time

的函数

https://moment.github.io/luxon/docs/class/src/datetime.js~DateTime.html#instance-method-toUTC

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56927110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档