如何使用moment-timezone.js或moment.js获取客户端时区?
谢谢!
此功能目前不可用,但计划在未来发布。参见:
- https://github.com/moment/moment-timezone/issues/55
- https://github.com/moment/moment-timezone/issues/138
- https://github.com/moment/moment-timezone/pull/220
同时,考虑jsTimeZoneDetect
另请参阅:我可以通过使用jQuery获得客户端的时区名称吗?
检查上面的问题列表,我发现检测用户时区是可用的,尽管它不是很正确。
moment.tz.guess()
>> "Europe/Budapest" // when actually I am in Madrid, but I think it is due to some historical reason
根据讨论并检查了src(0.5(,它基于Intl.DateTimeFormat().resolvedOptions().timeZone
,被认为是最正确的方式,并且受到许多现代(适当的(浏览器的支持,请参见列表:https://caniuse.com/#feat=internationalization
幸运的是,布达佩斯使用与马德里相同的夏令时。如果你有一个地理分布更广的目标用户群,我建议你采取更多的预防措施。