的問題是不是你認爲它是...
沒有「小時」值在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)