javascript - 使用 Moment.js 检测北半球或南半球

标签 javascript datetime location momentjs

Someone previously asked how to detect hemispheres 接受的答案是这样的:

window.whatHemisphere= (function(){
    var y= new Date().getFullYear();
    if(y.getTimezoneOffset()==undefined) return null;
    var jan= -(new Date(y, 0, 1, 0, 0, 0, 0).getTimezoneOffset()),
    jul= -(new Date(y, 6, 1, 0, 0, 0, 0).getTimezoneOffset()),
    diff= jan-jul;
    if(diff> 0) return 'N';
    if(diff< 0) return 'S'
    return null;
})()

但是,如果我使用 Moment.js和 Moment Timezone,有没有比使用这些库提供的工具更可靠的方法?

最佳答案

不,时刻没有内置任何内容可以为用户提供北/南半球。

此外,您展示的函数始终会返回 null,因为 getTimezoneOffset 位于 Date,但 y > 只是一个数字。

即使您在日期调用它,世界上所有国家/地区也不会遵守 DST。事实上,according to Wikipedia ,世界上大多数地区不遵守夏令时。

唯一有意义的是,如果(且仅当)某个地点遵守夏令时,北半球的国家/地区将在 7 月进入夏季时进入夏令时,而南半球的国家/地区将进入夏令时当一月进入夏季时,半球将进入夏令时。

关于javascript - 使用 Moment.js 检测北半球或南半球,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32654323/

相关文章:

javascript - 通过我的 api 发送数据不起作用

javascript - 多系列线条颜色

python - 使用 DateOffset 对 pandas DataFrame 进行索引和应用 func

Android 可选 GPS 权限

javascript - Uncaught Error : Bootstrap's JavaScript requires jQuery

javascript - 单击文本时选择文本就像 "Ctrl+A"?

c# - 日期转换错误

python - 在Python中将datetime.date转换为UTC时间戳

android - 使用asyncTask获取GPS坐标

Android - GoogleApiClient 实例在 IntentService 中的 .connect() 和 onConnected() 之间丢失