13

我有一个日期数组,日期中有不同的时间。

示例:{4/15/13 05:00:00、03/10/13 13:00:00、02/10/13 02:00:00 等}

如果我只想将小时更改为 00:00:00,那么数组将显示为:

{4/15/13 00:00:00、03/10/13 00:00:00、02/10/13 00:00:00 等}

我该怎么做?

我试过使用 getTime(),但我无法控制时间。任何帮助都会很棒。谢谢!

编辑:我试过这个循环:

 for (var i = 0; i < gValues.length; i++) { // repeat loop
    sheet.getRange(i + 2, 7, 1, 1).setValue(gValues[i][0].setHours(00,00,00,00));
  }

但我得到的不是预期的结果,而是每个单元格的“12/20/5828963 0:00:00”。

4

2 回答 2

20

Google Apps 脚本是 JavaScript,这里解释了日期操作,

设置时间是这样的:

Date.setHours(hour,min,sec,millisec)

这是一个例子:

//   3/16/2013 17:00:00

function test(){
 var x = new Date('3/16/2013 17:00:00');// x is now a date object
 x.setHours(0,0,0,0); set  hours to 0, min Secs and milliSecs as well
 Logger.log(x);// show result
}

记录器值:Sat Mar 16 00:00:00 GMT+01:00 2013

于 2013-03-05T19:02:02.570 回答
-1

当您的系统时间配置为使用 UTC 时:

DateUtils.setSeconds(DateUtils.setMinutes(DateUtils.setHours(new Date(),5),30),0)

除此以外:

DateUtils.setSeconds(DateUtils.setMinutes(DateUtils.setHours(new Date(),0),0),0)
于 2020-05-12T14:49:32.570 回答