拥有一个培训webex活动的网站。我们公司位于几个不同的时区。在过去,一切都已转换为太平洋时间(我们总部所在地)。试图更多地关注用户体验,使事情变得更加局部,而不是总部。
因此,所有时间都以当地时间显示,但现在这让用户感到困惑,因为他们并不期待它。我想添加三个字母缩写(PST,CMT,EST,HAST或HST等)
我正在研究这个问题时,我会不断回顾时区。我们已经在使用其他日期/时间的东西,所以这将是非常棒的。
但是所有的时区示例都是这样的:
moment.tz([2012, 0], 'America/New_York').format('z'); // EST
基本上你似乎已经需要知道用户所处的时区。如果我已经知道他们所处的时区,我不需要时刻告诉我。还有documentation says:
...默认情况下,时刻对象是在本地时区创建的....
我位于俄勒冈州波特兰市,javascript 新日期()显示(PST)(至少在Chrome中),但 moment.tz()。zoneAbbr() 是UTC,显然不是我当地的时区。
我发现this thread建议使用 jsTimezoneDetect 。
moment.tz(new Date(), jstz.determine().name()).format('z')
我理解为什么这是一个复杂的事情,因为世界各地的地点和不同的夏令时计划。但我不得不怀疑 - 我错过了什么吗?有没有更简单的方法来做到这一点?