6

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

示例-日期:2010 年 12 月 12 日,时间:下午 4:30 然后我想获得一个组合值,如 '13/12/2010 4:30 PM' 作为日期时间对象。

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

new Date(year, month, day, hours, minutes)

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

4

1 回答 1

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)); "

于 2010-10-29T17:37:41.130 回答