javascript中有许多可用的解决方案来检查日期是否在白天[ 如何检查DST (夏时制)是否有效,如果它是什么偏移量? ]。
但这种解决方案只有当某人在同一时区的日光效应是适用的,例如。假设我的当前浏览器(客户端)采用IST (印度标准-其中没有日光时更改),我想检查ET (东方时-其中日光为-5,标准为-4)的日期是否在白天。以上解决方案(从链接)将给我正确的结果,只有在我的系统时区在ET,而不是IST。
我怎么算呢?
发布于 2014-12-30 07:21:58
如果您使用moment.js及其配套的timezome脚本,则检查DST非常容易:
看看他们的用于isDST()的文档
只是想笑一下,这里有一个小提琴测试每个时区
if( moment.tz("America/New_York").isDST() ){
$('#test').append('NY is currently in DST');
}
else{
$('#test').append('NY is NOT currently in DST');
}<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>
发布于 2022-05-09 06:25:33
您可以使用鲁迅库来检查DST是否处于活动状态,或不在特定区域。您所需要的只是时区字符串,您可以检查DST是否活动。
所以第一次从鲁迅进口DateTIme
import { DateTime } from "luxon";然后检查DST在时区中是否处于活动状态。
if (DateTime.local().setZone(timezone).isInDST) {
console.log("Dst is active in ", timezone)
}
else {
console.log("Dst is NOT active in ", timezone)
}其中的时区是您正在寻找的时区。
https://stackoverflow.com/questions/27700571
复制相似问题