首页 > 解决方案 > 需要帮助使用 Google SCRIPT 减去时间和日期

问题描述

我在这里有这段代码:

var date = a.created_at_timestamp.substring(0,10)
var time = a.created_at_timestamp.substring(11,19)

这两个值都返回具有这些值的字符串:

date = 2020-05-19 // 
Time = 17:00:08

我需要减去 3 个小时,因为它是在 GMT 时间到来并且我在 GMT-3 上。因此,我考虑将它们加在一起,减去三个小时,然后再将它们分开。就像是:

Orig Date: 20/05/19 // 
Orig Time: 20:15:19
Time + Date: 20/05/19 20:15 // 
Time + Date - 3h: 20/05/19 17:15
New Date: 20/05/19 00:00 // 
New Time: 17:15:19

我尝试按照此处其他帖子中的建议将其转换为毫秒,使用公式,其中一个函数会触发添加两个单元格的公式,我可以这样做,但不能将它们分开。另外,如果可能的话,我想在脚本里面做。

有人可以帮我吗?
我是新手,我有点习惯 VBA。从 VBA 中尝试了一些东西,但它们在这里并不适用。

标签: javascript

解决方案


Date与其使用单独的日期和时间字符串,不如创建一个将两者结合起来的新对象可能会更容易。

var dateTime = new Date(a.created_at_timestamp.substring(0,19));

然后,您可以通过执行以下操作减去 3 小时:

var timeOffset = 3 * 60 * 60 * 1000; // 3hrs of millis

var offsetDate = new Date(dateTime.getTime() - timeOffset);

推荐阅读