我有一个Google表单,链接到Google表格以获取回复。我还制作了另一个Google Sheet文件和GAS,它允许我以编程方式/从后面的代码添加对我的Google表单的响应。我的GAS代码如下:
var data = sheet.getDataRange().getValues();
var form = FormApp.openByUrl(formURL);
formResponse[0] = form.createResponse();
formResponse[0].withItemResponse(items[0].asListItem().createResponse(data[1][0])); //data[1][0] holds my Date response 2011/11/11
formResponse[0].submit();
这可以在我的Google表单中成功添加我的回复。但是,我可以在Google表格中清楚地看到(对于回复)日期不是2011/11/11而是2011/11/10。它总是减去一天。
我怀疑它可能是文件的时区问题所以我检查了Google表格的时区设置和脚本时区设置。他们都是一样的。
为什么我的日期与我在表格回复中提交的日期不同?我错过了什么吗?
Class ListItem需要String作为响应。使用Utilities.formatDate(...)
将Date转换为String。
以上是因为当JavaScript对象具有自动生成的字符串值时,Dates很难处理,因为
参考