Javascript GoogleScript连接日期计算,而不是添加天数

Javascript GoogleScript连接日期计算,而不是添加天数,javascript,date,google-apps-script,Javascript,Date,Google Apps Script,我有一个谷歌脚本的问题。我正在计算一周中的所有日期。我在工作表中有一个星期一值,并将其复制到数组中,然后将其声明为变量。之后我可以将其格式化并提取周、年等等 然而,如果我想在周二加上一天,他会给我周一的日期,并在末尾加上1 我正在使用以下代码: var StartDatum = Data [5][7] var Week = Utilities.formatDate(StartDatum, "GMT", "ww")-1; var Month =Utilities.formatDate(StartD

我有一个谷歌脚本的问题。我正在计算一周中的所有日期。我在工作表中有一个星期一值,并将其复制到数组中,然后将其声明为变量。之后我可以将其格式化并提取周、年等等

然而,如果我想在周二加上一天,他会给我周一的日期,并在末尾加上1

我正在使用以下代码:

var StartDatum = Data [5][7]
var Week = Utilities.formatDate(StartDatum, "GMT", "ww")-1;
var Month =Utilities.formatDate(StartDatum, "GMT", "MM");

for (var i=14; i < 21; i++){
var Datum = ((StartDatum + (i - 14)));
}
周和月也可以工作

但对于我收到的数据:

Mon Jan 13 2020 09:00:00 GMT+0100 (CET)0
Mon Jan 13 2020 09:00:00 GMT+0100 (CET)1
Mon Jan 13 2020 09:00:00 GMT+0100 (CET)2
Mon Jan 13 2020 09:00:00 GMT+0100 (CET)3
。。。还有一个


有人能给我一个关于我的错误的提示吗

在执行日期操作时,您需要使用

下面是一个从今天的日期开始,操纵
date
对象来描述接下来两周的天数的示例(这也恰好演示了如何干净地处理月份边界):

代码:

function dateManipulationExample() {
  var timestamp = new Date();
  Logger.log('Starting date: ' + Utilities.formatDate(timestamp, 'UTC', 'yyyy-MM-dd'));

  for (var i = 1; i <= 14; i++) {
    timestamp.setDate(timestamp.getDate() + 1);
    Logger.log(i + ' day(s) later: ' + Utilities.formatDate(timestamp, 'UTC', 'yyyy-MM-dd'));
  }
}

作为参考,.

在执行日期操作时,您需要使用

下面是一个从今天的日期开始,操纵
date
对象来描述接下来两周的天数的示例(这也恰好演示了如何干净地处理月份边界):

代码:

function dateManipulationExample() {
  var timestamp = new Date();
  Logger.log('Starting date: ' + Utilities.formatDate(timestamp, 'UTC', 'yyyy-MM-dd'));

  for (var i = 1; i <= 14; i++) {
    timestamp.setDate(timestamp.getDate() + 1);
    Logger.log(i + ' day(s) later: ' + Utilities.formatDate(timestamp, 'UTC', 'yyyy-MM-dd'));
  }
}

作为参考。

这是否回答了您的问题?似乎
StartDatum+
中的
+
被视为字符串串联,因此StartDatum被转换为字符串。然后,
(i-14)
的结果也作为字符串追加。在javascript中只添加1.PS是无法将日期添加到日期对象的,按照惯例,以大写字母开头的变量是为构造函数保留的,因此startDatum、datum等:-)这是否回答了您的问题?似乎
StartDatum+
中的
+
被视为字符串串联,因此StartDatum被转换为字符串。然后,
(i-14)
的结果也作为字符串追加。在javascript中只添加1.PS是无法将日期添加到日期对象的,按照惯例,以大写字母开头的变量是为构造函数保留的,因此startDatum、datum、,等等:-)对于时区偏移量为正的用户,将偏移量设置为UTC可能会在一天的早些时候产生意外结果,而对于时区偏移量为负的用户,则会在一天的晚些时候产生意外结果。您好,chuckx,谢谢您的代码。我根据你的建议修改了我的建议,效果很好。对于时区偏移量为正的用户,将偏移量设置为UTC可能会在一天的早些时候产生意外的结果,而对于时区偏移量为负的用户,则会在一天的晚些时候产生意外的结果。您好,chuckx,谢谢您的代码。我根据你的建议修改了我的,效果很好。
[20-01-21 14:34:17:065 PST] Starting date: 2020-01-21
[20-01-21 14:34:17:066 PST] 1 day(s) later: 2020-01-22
[20-01-21 14:34:17:067 PST] 2 day(s) later: 2020-01-23
[20-01-21 14:34:17:067 PST] 3 day(s) later: 2020-01-24
[20-01-21 14:34:17:068 PST] 4 day(s) later: 2020-01-25
[20-01-21 14:34:17:068 PST] 5 day(s) later: 2020-01-26
[20-01-21 14:34:17:069 PST] 6 day(s) later: 2020-01-27
[20-01-21 14:34:17:070 PST] 7 day(s) later: 2020-01-28
[20-01-21 14:34:17:070 PST] 8 day(s) later: 2020-01-29
[20-01-21 14:34:17:071 PST] 9 day(s) later: 2020-01-30
[20-01-21 14:34:17:072 PST] 10 day(s) later: 2020-01-31
[20-01-21 14:34:17:072 PST] 11 day(s) later: 2020-02-01
[20-01-21 14:34:17:073 PST] 12 day(s) later: 2020-02-02
[20-01-21 14:34:17:073 PST] 13 day(s) later: 2020-02-03
[20-01-21 14:34:17:074 PST] 14 day(s) later: 2020-02-04