我正在处理一个平台,该平台有来自世界各地的用户,但某些设置绑定了预定义的时区日期时间。
这是什么意思?如果用户从不同的时区连接,应用程序仍应显示他在预定义时区的当前时间,无论他从哪里登录。我需要在客户端使用JavaScript计算这个值,只使用时区字符串。
我想要做的是像这样:
new TimezoneDate('timezone');
结果应该是该时区的当前日期时间。
我知道有一些处理这个问题的JS库,但我想知道是否有一个不使用外部库的简单JS解决方案?
我正在处理一个平台,该平台有来自世界各地的用户,但某些设置绑定了预定义的时区日期时间。
这是什么意思?如果用户从不同的时区连接,应用程序仍应显示他在预定义时区的当前时间,无论他从哪里登录。我需要在客户端使用JavaScript计算这个值,只使用时区字符串。
我想要做的是像这样:
new TimezoneDate('timezone');
结果应该是该时区的当前日期时间。
我知道有一些处理这个问题的JS库,但我想知道是否有一个不使用外部库的简单JS解决方案?
var timezonedDate = moment.tz('YOUR TZ STRING').toDate();
var offset = new Date().getTimezoneOffset();
或者获取小时差:
var x = new Date();
var currentTimeZoneOffsetInHours = x.getTimezoneOffset() / 60;
时区偏移量是 UTC 和本地时间之间的分钟差异。请注意,这意味着如果本地时区落后于 UTC,则偏移量为正数,如果本地时区领先于 UTC,则偏移量为负数。例如,如果您所在的时区是 UTC+10(澳大利亚东部标准时间),将返回 -600。夏令时会防止该值成为给定区域的常量。