Google apps script Google脚本--为日期添加天数
我意识到这很容易,但我是一个挣扎的新手。我在电子表格单元格D3、D4和D5(mm/dd/yyyy)中有日期,只需要一个宏就可以为每个单元格添加7天。我已经设法拼凑出一些可能正常工作的代码,但输出是毫秒格式,而不是mm/dd/yyyy格式 我似乎无法获得正确的语法来转换它。有什么提示吗?谢谢大家!Google apps script Google脚本--为日期添加天数,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我意识到这很容易,但我是一个挣扎的新手。我在电子表格单元格D3、D4和D5(mm/dd/yyyy)中有日期,只需要一个宏就可以为每个单元格添加7天。我已经设法拼凑出一些可能正常工作的代码,但输出是毫秒格式,而不是mm/dd/yyyy格式 我似乎无法获得正确的语法来转换它。有什么提示吗?谢谢大家! function UpdateDates() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getActive
function UpdateDates() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var First = new Date();
var Second = new Date();
var Third = new Date();
var First = ss.getRange('D3').getValue();
var Second = ss.getRange('D4').getValue();
var Third = ss.getRange('D5').getValue();
ss.getRange('D3').setValue(First.getTime() + 7);
ss.getRange('D4').setValue(Second.getTime() + 7);
ss.getRange('D5').setValue(Third.getTime() + 7);
}
将日期添加到日期提供了一个独特的挑战,主要是因为您必须考虑年、月和日期。并相应地增加每个值,因此仅使用不起作用。你需要记录月份和年份。因此,如果加上七天会改变月份或年份,则会对其进行更改 但是,通过使用,您可以获得自1970年1月1日以来以毫秒为单位的时间度量。并且,以毫秒为单位添加7天,并使用构造函数将其转换回日期。因此,建造师需要根据时间计算出正确的日期 您的代码如下所示:
function UpdateDates() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
//Get the dates from the cell and convert them into Milliseconds since 1970/01/01
var First = new Date(ss.getRange('D3').getValue()).getTime();
var Second = new Date(ss.getRange('D4').getValue()).getTime()
var Third = new Date(ss.getRange('D5').getValue()).getTime();
var dayInMs = 24*60*60*1000 //one day in Milliseconds
//add sevendays to each date in milliseconds
First = First + (7*dayInMs)
Second += (7*dayInMs)
Third += (7*dayInMs)
//Convert Milliseconds to date use new Date(time in ms) and set Values of the cell
ss.getRange('D3').setValue(new Date(First));
ss.getRange('D4').setValue(new Date(Second));
ss.getRange('D5').setValue(new Date(Third));
}
我现在意识到问题的一部分(除其他外)是我使用了getTime而不是getDate。更改后,格式很好,但日期几乎不准确(杰克——非常感谢!从逻辑上讲,这一切都是有道理的。我一直在努力学习语法,但可以将其作为未来需求的良好起点。我使用Excel VBA变得“危险”,但很难使用Google脚本。再次感谢!