【问题标题】:How do I handle dates from a google spreadsheet using a google apps script如何使用谷歌应用脚本处理来自谷歌电子表格的日期
【发布时间】:2012-08-20 10:08:34
【问题描述】:
如何处理这样的电子表格中的日期。
我需要从第 2 列中获取最后一个日期,然后找到下一个日期。我已创建此代码来检索最后日期。
lastDateRow = sheet.getLastRow()-1;
lastDate = Date(sheet.getRange("B"+(lastDateRow)+":B"+(lastDateRow).getValue());
【问题讨论】:
标签:
javascript
google-apps-script
google-sheets
【解决方案1】:
您从工作表中获得的值已经是一个日期对象(包括年份、日期、小时数等),无需进一步操作。
当您说“下一个日期”时,我猜您的意思是“下一个日期”?如果是这样,只需将 24*60*60*1000 以毫秒为单位添加到日期,您就会得到第二天;-)
在代码中它变成了这样:
function xxx(){
var sheet = SpreadsheetApp.getActiveSheet()
var lastDateRow = sheet.getLastRow();
var lastDate = sheet.getRange(lastDateRow,2).getValue();
Logger.log(lastDate)
var nextDay = new Date(lastDate.getTime()+24*60*60*1000);
Logger.log(nextDay)
}
记录仪测试结果:
Tue Aug 21 15:00:00 PDT 2012
Wed Aug 22 15:00:00 PDT 2012
【解决方案2】:
实际上这是我在 stackowerflow 上查找 js nextdate fnction 后得到的结果。
var lastDateRow = sheet.getLastRow();
var lastDate = sheet.getRange(lastDateRow,2).getValue();
lastDate = getTomorrow(lastDate,1);
function getTomorrow(d,offset) {
if (!offset) { offset = 1 }
return new Date(new Date(d.getTime()).setDate(d.getDate() + offset));
}