如何在Google Apps电子表格脚本中将日期和时间合并为日期时间?

und*_*ack 5 javascript datetime date-manipulation google-apps-script

我在Google App电子表格中有'dd/mm/yyyy'格式的日期列和'HH:MM AM/PM'格式的时间列.在应用程序脚本中,我想将这两个值作为日期时间加入.我怎样才能做到这一点?

示例日期:2010年12月13日,时间:下午4:30然后我希望获得像'13/12/2010 4:30 PM'这样的组合值作为日期时间对象.

我尝试使用getYear,getDay JS函数分别解析日期和时间.并使用创建了一个新的日期

new Date(year, month, day, hours, minutes)
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,时间'4:30'被显示为一个完整的奇怪日期,如1899年11月30日上午10:30.我可以准确地提取年,日和月,但不能提取小时和分钟.

und*_*ack 5

我在这个Google Apps 论坛帖子中得到了这个答案。

因为如果更改电子表格时区设置,日期不会在视觉上发生变化,例如,如果您在电子表格中键入“1/1/10 14:00”,然后将时区更改为任何其他时区,则日期/时间不会更改。新时区仍将是 14:00。

现在,在 GAS 中,纪元是“1/1/1970 0:00:00 GMT+0”,现在与时区有关。所以,时代是不同的,很可能也是时区。这使得 GAS 和电子表格之间的操作日期变得一团糟。要测试 GAS 纪元,请执行 range.setValue( new Date(0) ); ”