Google apps script 如何转换;yyyy-mm-dd“;谷歌表单字段的日期类型?
在GoogleApps脚本中,我尝试在表单提交后插入日历事件。 在FormSubmit上,我有以下代码:Google apps script 如何转换;yyyy-mm-dd“;谷歌表单字段的日期类型?,google-apps-script,google-calendar-api,google-forms,Google Apps Script,Google Calendar Api,Google Forms,在GoogleApps脚本中,我尝试在表单提交后插入日历事件。 在FormSubmit上,我有以下代码: var startDate = formData.namedValues["From day"]; var endDate = formData.namedValues["To day"]; var cal = CalendarApp.getCalendarById("mycalendarid"); var startDatecal = new Date(startDate
var startDate = formData.namedValues["From day"];
var endDate = formData.namedValues["To day"];
var cal = CalendarApp.getCalendarById("mycalendarid");
var startDatecal = new Date(startDate);
var endDatecal = new Date(endDate);
Logger.log(startDate);
Logger.log(endDate);
Logger.log(startDatecal);
Logger.log(endDatecal);
cal.createEvent(name, startDatecal, endDatecal);
问题是date()函数无法识别电子表格“yyyy-mm-dd”中的日期格式,以下是日志:
[15-01-02 12:50:08:752 CET] [2015-01-02]
[15-01-02 12:50:08:753 CET] [2015-01-03]
[15-01-02 12:50:08:753 CET] Thu Jan 01 01:00:00 GMT+01:00
[15-01-02 12:50:08:754 CET] Thu Jan 01 01:00:00 GMT+01:00 1970
我的问题是:
- 如何正确地从表单中获取日期,而不依赖于电子表格的区域设置?如果不可能,如何将“yyyy-mm-dd”格式转换为Date()函数可以理解的格式
- 那么如何将其转换为日期对象呢
var startDate = formData.namedValues["From day"][0];
var endDate = formData.namedValues["To day"][0];
通过这种方式,可以传递yyyy-mm-dd格式的字符串,这是内置JS日期对象应该理解的。不幸的是,相同的结果:[15-01-05 10:39:41:644 CET]2015-01-05[15-01-05 10:39:41:644 CET]2015-01-06[15-01-05 10:39:41:645 CET]Thu Jan 01 01 01:00 GMT+01:00 1970[15-01-05 10:39:41:645 CET]1970年1月1日星期四01:00:00 GMT+01:00