繁体   English   中英

new Date().getTimezoneOffset() 返回错误的时区

[英]new Date().getTimezoneOffset() returns the wrong time zone

我在以色列,所以我现在的偏移量应该是120 然而,当我使用new Date().getTimezoneOffset()时,我返回-120 ,所以不仅仅是夏令时问题。 我应该简单地将每个减号更改为加号,反之亦然吗? 我不知道其他时区的用户可能会遇到什么情况。

那是我的 function:

  firebase
    .database()
    .ref("words/" + newPostKey)
    .set({
      word,
      length: word.length,
      time_to_action: timeToAction,
      output: output,
      lang: project.lang,
      country: project.country,
      user: userUID,
      timestamp : Date.now(),
      timezone_offset : new Date().getTimezoneOffset()
    });

timezone_offset是保存为-120的内容。 我在特拉维夫。

好吧,我住在乌克兰,即使我们有 (UTC + 02: 00) 现在我们也比 UTC 提前 3 小时,因为我们有“冬令时”,时钟拨慢一小时。 所以new Date().GetTimezoneOffset()返回'-120' ,而new Date(0).getTimezoneOffset()返回'-180' 也许这就是你面临的情况。

getTimezoneOffset()运行良好。 此函数返回您必须添加到当前时间以获得 UTC 时间的分钟数,因此在 GMT+X 中,结果为负数。

是的。 您比格林威治标准时间早 2 小时,因此要回到格林威治标准时间,您必须减去 120 分钟。 您的偏移量为 -120。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM