的问题是不是你认为它是...
没有“小时”值在JavaScript中也没有“日期”值,约会对象总是在一天一个完整的日期,月份,年份,小时,分钟,秒和毫秒,无论您如何选择可视化它。
您显示的值来自记录器,该记录器始终显示完整的日期对象,并且由于您的值未定义有效日期,因此它认为它是0,即电子表格的参考日。要检查只在电子表格单元格中键入0并强制数字格式为日期,您将获得30/12/1899 00:00:00
这给了你一个答案的一部分,因为它解释了为什么......现在回答你的问题和提供一个答案有几种可能的方式来解决这个问题。
最简单的一种是你的2个细胞在一个以电子表格的水平创造中,你用一个简单的公式第三个单元格合并:
考虑到你有A1
日期和时间在B1
,创建公式C1 =A1+B1
这很容易,但你可能不愿意有一个额外的细胞......你可以最终使用一个隐藏的单元,(简单)添加并让你的脚本读取该单元而不是其他2个单元。 ..
另一种可能性我为了在剧本中增加这些内容,这里有一个脚本,其中一步一步的过程要尽可能清晰。
function myFunction() {
var sh = SpreadsheetApp.getActive();
var day = new Date(sh.getRange('A1').getValue());
var time = new Date(sh.getRange('B1').getValue());
var hour = time.getHours();
var min = time.getMinutes();
Logger.log(day+' + '+time+' '+hour+':'+min+' = '+ new Date(day.setHours(hour,min,0,0)));
}
结果在记录器:(比利时时间)
[13-06-21 17:16:19:071 CEST] Fri Dec 27 2013 00:00:00 GMT+0100 (CET) + Sat Dec 30 1899 20:30:00 GMT+0100 (CET) 20:30 = Fri Dec 27 2013 20:30:00 GMT+0100 (CET)