gpt4 book ai didi

javascript - 夏令时和 JavaScript 时区转换

转载 作者:行者123 更新时间:2023-11-28 11:04:39 33 4
gpt4 key购买 nike

我在使用 JavaScript 时遇到了这样的困境。我需要将日期列表从客户的本地时区转换为纽约(EST)时区。我正在使用以下功能:

Date.prototype.toNycTime = function() {

var localTime = this.getTime();
var localOffset = this.getTimezoneOffset() * 60000;
var utc = localTime + localOffset;
this.setTime(utc - 3600000 * 5);

return this;
};

它工作正常。一个问题是,每次美国有夏令时切换时,我都需要调整 UTC 偏移量。这适用于下一次切换之前的任何日期(最早到来的是 2011 年 3 月 13 日)。但它不适用于切换后的日期。我不知道任何浏览器中是否有任何内置 JS 函数可以为我进行转换。

有没有一个好的库可以让我进行一些通用转换?或者有人可以对上面的代码提供任何提示吗?我试图避免在转换的日期/时间中进行编程并且必须一直查找。

最佳答案

我正在处理这个确切的问题...世界各地的企业用户,但“企业时间”是 PST/PDT,其中包括夏令时。

我是如何接近它的:我实际上解析了 PacificTime 的 POSIX 时区字符串,开头为

PST8PDT,M3.2.0/2,M11.1.0/2

并将它们重新格式化为可解析的日期字符串,以便时钟向前和向后移动。使用 TZ 字符串中嵌入的小时偏移量,我将向前和向后时间转换为纪元时间戳,并使用 if-then 来计算公司时间当前是否为 DST。

这会产生与 UTC 的偏移量,我可以用它来将本地“纪元”时间(已经是 UTC)转换为概念上的本地时间(实际上是用 UTC 时间转换的,但看起来是本地时间)。

我必须这样做,因为“flot”在 UTC 中执行所有操作

关于javascript - 夏令时和 JavaScript 时区转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4287618/

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