如何合并的日期和时间,在谷歌电子表格应用程序脚本日期时间?
-
27-09-2019 - |
题
我已经在“日/月/年”中“HH:MM AM / PM”格式和时间列一日期列在谷歌应用程序的电子表格格式。在应用程序的脚本,我想加入这两个数值为日期。我怎样才能做到这一点?
例 - 日期:13/12/2010,时间:4:30 PM 然后我想获得像'13 /二千零十分之十二4:30 PM”为datetime对象的组合值。
我试图解析日期和时间分别使用得到年,getDay JS功能。并使用创建一个新的日期
new Date(year, month, day, hours, minutes)
但由于某些原因时间“4:30”被示出为一个完整的怪异日期等1899年11月30日10:30 AM。我可以准确地提取年,日和月,但没有小时和分钟。
解决方案
Ive得到这个回答此一>谷歌Apps的论坛主题。
“首先,有日期和时间没有区别(除了格式化),他们都是Date对象。现在的问题.. 这是在电子表格中的日期/时间的值的数量,是由于“时期”的天数,因此,“时间”,实际上是数字的小数部分。如果您输入您的电子表格0(零),然后选择日期时间格式,你会看到时代是“12/30/1899 0:00:00”中的电子表格当前时区。即,在不同的电子表格,以不同的时区构成,该历元可能会改变。如果你两个电子表格操作同一个数值(例如使用IMPORTRANGE),你会不同。 A型行为,这是非常奇怪了吧。它并不总是这样的,但谷歌似乎认为这是更好地给用户,因为如果一个人改变了电子表格时区设置,日期也不会改变视觉,例如如果您在电子表格中输入“1/1/10 14:00”,然后将时区更改为任何其他日期/时间不会改变。它仍然是在新的时区14:00。
现在,在GAS历元是 “1/1/1970零点零零分00秒GMT + 0”,现在重要的时区。因此,时代是不同的,最有可能的时区了。这使得气体和电子表格一团糟之间运行的日期。 为了测试GAS时期,做一个range.setValue(新日期(0)); “