gpt4 book ai didi

javascript - 来自 UTC + IANA 时区位置的时间

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:26:05 24 4
gpt4 key购买 nike

我在 webapp here 中看到关于处理时间的出色总结.但是,它没有明确解决以下情况。我想要一种基于 UTC + Location(iana 时区位置 - America/New_York)的日期时间在 Web 应用程序中获取本地时间的方法。

我正在寻找一个进行以下计算的库。如果它在 Javascript 中原生运行,那也符合我的目的。

从服务器获取以下信息

{
dateTime: "2002-10-27T15:04:05Z" # Time in UTC, no TimeZone info
userTimeZone: "America/New_York" # based on current user location
}

问题是,考虑到夏令时偏移,我找不到将其转换为地点(纽约)时间的方法。

我不确定在数据库中保存时区偏移是否能解决问题,因为我的用户可能来自不同地区并且可能会查看相同的数据。例如,事件发生在属于东部地区 (EST/EDT) 的位置,但太平洋地区的用户可能会根据他们的位置查询数据(8AM - 5PM “America/Los_Angeles” - PST/PDT)。

我看了Moment.js , 但找不到解决方案。

总而言之,我需要一种方法,根据 UTC + IANA 位置的日期时间输入,在 Web 浏览器中获取特定位置(考虑夏令时偏移)的本地时间。

最佳答案

原始答案

MomentJS 是一个优秀的库,但它专注于解析。你需要 TimezoneJS , 它在 javascript 中实现了 Olson 数据库。

您的用例是文档中最先描述的用例之一。

更新的答案

有多个用于在 JavaScript 中进行时区转换的库,as listed here .最初提出这个问题时,我只知道 TimezoneJS。

既然你询问了 moment.js,你应该使用 moment-timezone插入。 (这在您最初提出问题时不可用。)

var x = // your object as written in the question

var m = moment(x.dateTime).tz(x.userTimeZone);

var s = m.format(); // or whatever you want to do

关于javascript - 来自 UTC + IANA 时区位置的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14484660/

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