Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取特定时区的JS中的当前日期时间_Javascript_Date_Datetime - Fatal编程技术网

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

Javascript 获取特定时区的JS中的当前日期时间,javascript,date,datetime,Javascript,Date,Datetime,我在一个平台上工作,该平台拥有来自世界各地的用户,但某些设置绑定到预定义的时区datetime 这是什么意思?如果用户从不同的时区连接,应用程序仍应在其登录的预定义时区标签中显示当前时间。我需要在客户端用javascript计算这个值,javascript只包含时区字符串 我想做的是这样的: new TimezoneDate('timezone'); 结果应该是该时区的当前日期时间 我知道有JS LIB可以处理这个问题,但我想问的是,是否有一个不使用外部LIB的简单JS解决方案?您可以尝试:

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

这是什么意思?如果用户从不同的时区连接,应用程序仍应在其登录的预定义时区标签中显示当前时间。我需要在客户端用javascript计算这个值,javascript只包含时区字符串

我想做的是这样的:

new TimezoneDate('timezone');
结果应该是该时区的当前日期时间

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

您可以尝试:

var offset = new Date().getTimezoneOffset();
或者以小时为单位计算差异:

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

时区偏移量是UTC和 当地时间。请注意,这意味着如果 本地时区在UTC之后,如果在UTC之前,则为负。例如 如果您的时区为UTC+10(澳大利亚东部标准时间),-600 将被退回。夏令时可防止此值被忽略 即使对于给定的区域设置也是一个常量


取决于你对简单的定义;但不是真的。Javascript不支持即时可用的时区。我强烈推荐片刻时区,因为它非常方便用户。我也在一个具有相同需求的项目中间,这个库使我的工作变得更加容易。

编辑: 有了这个库,做你想做的事情非常简单:

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

此解决方案不满足从给定时区字符串获取当前日期时间的要求。@GPicazo我认为它可以帮助他。他可以在他的时间中减去或添加偏移量,并将其显示给任何用户。是的,你是对的,我不是说它没有帮助,只是它没有直接解决问题,但你说它有用是对的。我认为这真的取决于获取当前日期时间是否是他唯一的时区特定要求,或者他是否必须执行其他与tz相关的操作(日期计算)。他说他不想使用任何外部库。如果其他人在这里偶然发现,在没有外部库的情况下很难做到这一点,因为像这样的东西几乎没有本机支持。所以momentjs是一个很好的npm包。