我有一个电子表格,要求人们在我们需要发出账单的那个月的某一天进入。我想要做的是根据它创建一个日历事件。所以,基本上我需要的是一个从当前月份开始的事件,从电子表格开始,并持续到指定的时间点。
var monthlyDate = row[6]; // Seventh column, monthly date of payment
var curDate = new Date();
var curMonth = curDate.getMonth();
var curYear = curDate.getYear();
curDate.setDate(curMonth, monthlyDate, curYear);
Logger.log("Day of month: %s", monthlyDate);
Logger.log("Current Date: %s", curDate);
Logger.log("Current Date: %s", Date());
我所看到的是,月度日期以浮动“6.0”形式出现,无论我在setDate行中为monthlyDate输入什么,它都会将日期设置为10/9/15 (今天是2015年10月15日)。我已将该值硬编码为许多不同的数字,但由于某种原因它只是不起作用。
如何创建遵循“Speadsheet / Current Year当前月/日”计划的日期(任何格式)?
答案 0 :(得分:5)
getMonth()
方法返回"零索引"数。因此,它返回第10个月的数字9。 setDate()
没有设置日期,它会设置"月中的日期"。该方法的名称具有误导性。
因此,您在setDate()
中使用的最后两个参数无效。您将该月的日期设置为9。
如果要同时设置多个日期参数,则需要使用new Date()
方法:
var d = new Date(year, month, day, hours, minutes, seconds, milliseconds);
month
参数接受0
到11
的值,0为Jan
,11
为Dec