javascript - 使用 JavaScript 在一个特定时区中的 DST 偏移时间

标签 javascript timezone dst

如果现在是太平洋时区的夏令时,我需要将时间偏移一个小时。无论用户的本地时区如何,我如何确定太平洋时区的当前夏令时状态?

这是我目前所拥有的。第 4 行中的“dst”只是一个函数的占位符,该函数会告诉我该区域是否启用了夏令时。

function checkTime() {  
    var d = new Date();  
    var hour = d.getUTCHours();  
    var offset = dst ? 7 : 8; // is pacific time currently in daylight savings?

    // is it currently 6 AM, 2 PM, or 10 PM?
    if (hour === ((6 + offset) % 24) || hour === ((14 + offset) % 24) || hour === ((22 + offset) % 24)) {  
      // do stuff
    }
}

checkTime();

最佳答案

您能够确定的唯一真实方法是您可以询问的服务器上是否有可用的 DST 信息(包括任何更新)。用户的 PC 甚至不需要安装时区信息。

然后您需要一个“动态”脚本来获取 DST 状态。

可能的方法: 引用生成 javascript 的 PHP/ASPX/JSP/CFM/ASP 页面来设置一个变量,该变量指示 DST 是否处于事件状态,或当前的分钟数偏移量。

直接在您的(希望是动态的)页面中编写脚本。

使用 AJAX/REST/JSON 访问某处的日期/时间服务,该服务可以告诉您某个时区/位置的 DST 状态或与 UTC 的分钟数偏移量。

分钟比小时更可取,因为世界各地的 DST 偏移实际上以分钟为单位,而不是小时。

关于javascript - 使用 JavaScript 在一个特定时区中的 DST 偏移时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3191288/

相关文章:

javascript - JQuery UI Sortable "CursorAt"更改变量后未更新

java - Joda Api 处理 Time Zone for isBefore Not isAfter Now 比较

javascript - 如何使用 moment.js 在特定时区创建时间

ios - 如何显示日期和日期的时区,与定义的国家/地区相关?

c++ - Windows时区写入注册表是否可靠?

javascript - 从模块加载特定方法。设计模式

javascript - 如何将自定义滚动条应用到整个页面?

javascript - 将大型静态 Javascript 库与 ASP.NET bundle 在一起?

python - 反序列化 Python 感知日期时间

PostgreSQL:无法使带 DST 的时区正常工作