javascript - 谷歌表格自定义函数返回错误的时差

标签 javascript date google-sheets

我正在为谷歌表格编写自定义函数。 其中一部分应计算两个不同时间的增量。

  function timeOut(input) {
    var difference = input[0][1]-input[0][0];
    var output = new Date(difference);

    return output;
  }

变量差异包含零。 问题是 new Date(0) 返回

Thu Jan 01 1970 01:00:00 GMT+0100 (CET)

而不是

Thu Jan 01 1970 00:00:00 GMT+0100 (CET)

所以 9 小时减去 9 小时就是 1 小时,这显然是错误的。

你能指出我做错了什么吗?

最佳答案

00:00:00 GMT+0100 将为 -1 小时,因为它是 +0100,时区很重要,01:00:00 GMT+0100 确实是0 小时。

如果你想获取GMT,可以使用toGMTString():

var date = new Date(0);
alert(date.toGMTString()); // prints Thu, 01 Jan 1970 00:00:00 GMT

关于javascript - 谷歌表格自定义函数返回错误的时差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32205389/

相关文章:

dart - 是否可以从(服务器-VM-运行)Dart 代码读取 Google 电子表格?

javascript - 圆形图像叠加

javascript - 模式 HTML 5 视频关闭时静音?

java - Mongodb Epoch Date - java 映射

r - 日期格式的转换 %B %Y

google-apps-script - ArrayFormula 破坏了 getLastRow() 功能。可能的解决方法?

javascript - 将表单数据提交到谷歌电子表格

javascript - QUnit 忽略源错误

javascript - 如何从 Onclick 按钮中获取 ID?

java - 仅使用 MM/DD/YYYY 格式化日期对象中的日期