Dan*_*ard 1 google-apps-script
我不知道如何在Google App脚本中为日期添加一天。我有这个脚本:
function dateTest() {
var testDate = new Date();
var secondDate = new Date(testDate.getDate()+1);
Logger.log(testDate);
Logger.log(secondDate);
}
Run Code Online (Sandbox Code Playgroud)
产生以下日志:
[16-11-30 16:35:02:499 GMT] 2016年11月30日星期三16:35:02 GMT + 00:00 2016
[16-11-30 16:35:02:500 GMT]星期四1月1日01:00:00 GMT + 01:00 1970
我不明白为什么不加上日期?
Bar*_*rdy 10
getDate()获取该月的日期。如果您将一个数字传递给 中的 Date 构造函数new Date(value),它期望该数字是自 Unix 纪元以来的毫秒数,请参阅MDN 上的 Date。因此,您要在 unix 纪元上添加 31 毫秒(今天),因此日期是 1970 年 1 月 1 日,还有一点点。
要添加一天,请尝试:
var secondDate = new Date(testDate.getTime() + 24 * 60 * 60 * 1000);
Run Code Online (Sandbox Code Playgroud)
这会添加一天中的毫秒数testDate并从中创建一个新的日期。
getTime()获取自 Unix 纪元以来以毫秒为单位的日期表示形式,因此通过将一天中的毫秒数添加到其中,您可以创建一个 +1 天的新日期。
更改为:
var testDate = new Date();
var secondDate = new Date();
secondDate.setDate(testDate.getDate()+1);
Run Code Online (Sandbox Code Playgroud)
这应该使白天对于夏令时的更改以及leap年都有利。
| 归档时间: |
|
| 查看次数: |
10484 次 |
| 最近记录: |