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

Detect Northern or Southern hemisphere with Moment.js

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,是否有比使用这些库提供的工具更可靠的方法?

不,moment 没有内置任何东西可以为用户提供 north/south 半球。

此外,您显示的函数总是去 return null 因为 getTimezoneOffsetDate 上,但 y 只是一个数字。

即使您在 Date 上调用它,世界上并非所有国家/地区都遵守 DST。事实上,according to Wikipedia,世界上 多数 没有遵守夏令时。

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