在JS中获取特定时区的当前日期时间



我正在一个拥有来自世界各地用户的平台上工作,但是某些设置绑定到预定义的时区日期时间。

这是什么意思?如果用户从不同的时区连接,应用程序仍然应该显示当前时间在预定义的时区,不管他从哪里登录。我需要在客户端用javascript计算这个只有时区字符串。

我想做的是这样的:

new TimezoneDate('timezone');

,结果应该是该时区的当前日期时间。

我知道有JS库处理这个,但我问是否有一个简单的JS解决方案不使用外部库?

取决于你对简单的定义;但事实并非如此。Javascript不支持开箱即用的时区。我强烈推荐Moment Timezone http://momentjs.com/timezone/,因为它非常用户友好。我也在一个具有相同要求的项目中,这个库使我的工作变得容易多了。

编辑:有了这个库,做你想做的事情就像:

var timezonedDate = moment.tz('YOUR TZ STRING').toDate();

您可以尝试:

var offset = new Date().getTimezoneOffset();

或者获取小时差值:

var x = new Date();
var currentTimeZoneOffsetInHours = x.getTimezoneOffset() / 60;
Mozilla参考

时区偏移量是UTC和UTC之间的差,以分钟为单位当地时间。请注意,这意味着偏移量为正,如果本地时区落后于UTC,如果领先则为负值。例如,如果你的时区是UTC+10(澳大利亚东部标准时间),-600将被归还。日光节约时间可以防止此值即使对于给定的语言环境也是常量。

相关内容

  • 没有找到相关文章

最新更新