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
只是一个数字。
即使您在Date
上调用它,也不是世界所有国家都遵守的DST。实际上,according to Wikipedia DST在世界大多数地方都未观察到。
唯一有意义的一点是,如果(且仅当)某个位置遵守夏令时,则北半球的国家/地区将在夏令时(7月)处于夏令时,而南半球的国家/地区将在1月处于夏令时(DST)。夏天。
关于javascript - 使用Moment.js检测北半球或南半球,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32654323/