首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >javascript -检查不同时区的日光时间是否有效

javascript -检查不同时区的日光时间是否有效
EN

Stack Overflow用户
提问于 2014-12-30 06:23:07
回答 2查看 4.3K关注 0票数 5

javascript中有许多可用的解决方案来检查日期是否在白天[ 如何检查DST (夏时制)是否有效,如果它是什么偏移量? ]。

但这种解决方案只有当某人在同一时区的日光效应是适用的,例如。假设我的当前浏览器(客户端)采用IST (印度标准-其中没有日光时更改),我想检查ET (东方时-其中日光为-5,标准为-4)的日期是否在白天。以上解决方案(从链接)将给我正确的结果,只有在我的系统时区在ET,而不是IST。

我怎么算呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-12-30 07:21:58

如果您使用moment.js及其配套的timezome脚本,则检查DST非常容易:

看看他们的用于isDST()的文档

只是想笑一下,这里有一个小提琴测试每个时区

代码语言:javascript
复制
if( moment.tz("America/New_York").isDST() ){
    $('#test').append('NY is currently in DST');
}
else{
    $('#test').append('NY is NOT currently in DST');
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/moment.js/2.8.3/moment.min.js"></script>
<script src="http://momentjs.com/downloads/moment-timezone-with-data.min.js"></script>



<div id="test"></div>

票数 5
EN

Stack Overflow用户

发布于 2022-05-09 06:25:33

您可以使用鲁迅库来检查DST是否处于活动状态,或不在特定区域。您所需要的只是时区字符串,您可以检查DST是否活动。

所以第一次从鲁迅进口DateTIme

代码语言:javascript
复制
import { DateTime } from "luxon";

然后检查DST在时区中是否处于活动状态。

代码语言:javascript
复制
if (DateTime.local().setZone(timezone).isInDST) {
  console.log("Dst is active in ", timezone)
}
else {
  console.log("Dst is NOT active in ", timezone)
}

其中的时区是您正在寻找的时区。

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

https://stackoverflow.com/questions/27700571

复制
相关文章

相似问题

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