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/