javascript中有许多解决方案可用于检查日期是否在白天[How to check if the DST (Daylight Saving Time) is in effect and if it is what's the offset?]。
但是,只有当某人处于适用日光效果的同一时区时,该解决方案才有效, 恩。假设我的当前浏览器(客户端)处于IST (印度标准 - 其中没有日光时间更改)我想检查日期是否在白天 ET(东部时间 - 日光为-5,标准为-4)。只有当我的系统时区在ET而不是IST时,上面的解决方案(来自链接)才会给我正确的结果。
我该如何计算?
答案 0 :(得分:5)
如果您使用moment.js
及其随附的timezome
脚本,则可以轻松检查DST:
查看他们的docs for isDST()
只是为了笑容,here's a fiddle testing each timezone
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>
&#13;