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,因为getTimezoneOffsetDate上,但是y只是一个数字。

即使您在Date上调用它,也不是世界所有国家都遵守的DST。实际上,according to Wikipedia DST在世界大多数地方都未观察到。

唯一有意义的一点是,如果(且仅当)某个位置遵守夏令时,则北半球的国家/地区将在夏令时(7月)处于夏令时,而南半球的国家/地区将在1月处于夏令时(DST)。夏天。

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

10-11 22:25