Google电子表格日期时间转换

时间:2016-12-24 04:10:32

标签: google-apps-script google-sheets google-form

我正在尝试匹配Google表单中相同日期字段的两个不同响应 对于一个单元格,我从填充其响应生成的电子表格中访问其值,而另一个单元格则从填写第二个表单生成的最后一个响应中访问其值 首先通过观察日志,它在电子表格中以这种格式存储值“Tue Jan 03 00:00:00 GMT + 05:30 2017”(不含引号)
以及此格式的其他储值“ 2017-01-03“
我想比较这两个值,我知道如果我访问第二个表单的电子表格,它很容易比较,但我可以用这种格式比较它,我不需要访问其他表单的电子表格?
编辑:我试图比较两个电子表格的单元格,但两个也有不同的格式
在第二个电子表格格式就像是“2017年3月16日00:00:00 GMT + 0530(IST)”< / p>

1 个答案:

答案 0 :(得分:1)

价值&#34; 2017-01-03&#34;是一个字符串。它没有带有关于时区的信息,因此您需要知道(从您收集表单的上下文)。也许是印度时代的亚洲/加尔各答?如果是这样,我会将第一个日期格式化为字符串,使用相同的时区,然后比较两者。

var str = "2017-01-03";     // date as string
var val = range.getValue(); // date as Date object, from spreadsheet
var val2str = Utilities.formatDate(val, 'Asia/Kolkata', 'yyyy-MM-dd'); // now also a string
Logger.log(str == val2str); // test equality

(还可以测试以这种方式格式化的字符串的不等式str < val2str)。

另一种方法是将第二个字符串解析为日期对象,但这有点复杂,因为Google Apps脚本日期解析器非常复杂。