[英]Google sheets custom function returning wrong time difference
我正在为Google表格编写自定义函数。 一部分应计算两个差值时间的增量。
function timeOut(input) {
var difference = input[0][1]-input[0][0];
var output = new Date(difference);
return output;
}
变量差包含零。 问题是新的Date(0)返回
1970年1月1日星期四01:00:00 GMT + 0100(CET)
而不是
1970年1月1日星期四00:00:00 GMT + 0100(CET)
因此9个小时减去9个小时的差就是1个小时,这显然是错误的。
您能指出我,我做错了吗?
00:00:00 GMT+0100
将是-1小时,因为它是+0100,时区很重要,01: 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
实际上,这是正确的,在格林尼治标准时间的00:00:00,+ 0100的时间是01:00:00。
如果您需要格林尼治标准时间,则可以:
var GMTTime = new Date( -new Date().getTimezoneOffset() * 60000 );
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.