2016-07-31 58 views
0

我有一些數字字段在我的表中被格式化爲持續時間(這導致他們被視爲一天的分數)。如果我在公式中使用它們,它們會被正確處理爲數字。谷歌電子表格腳本 - 獲取日期的號碼

我還需要在計算它們的總和的腳本中使用它們。但在腳本中,它們以Date對象的形式出現。有什麼辦法可以迫使他們以數字出現嗎?如果不是,我如何正確地將日期轉換爲數字?使用getUTCHours/getUTCMinutes/getUTCSeconds幾乎可行,但它會將小時數截斷爲24,並失去精度(即使使用毫秒,儘管損失較小)。 Date對象似乎有年= 1899年,這特別怪異。

目前我看中了這一點,但我不知道它是否足夠可靠(長數爲getTime零):

if (val instanceof Date) { 
    return (val.getTime() + 2209161600000)/24/3600/1000; 
    } 
+0

知道你想要的日期的結束格式,以及你期望與他們做什麼之後會有所幫助。 –

回答

0

嘗試使用功能cell.getDisplayValue()。將時間格式化細胞轉換成文本,像'13:00' ,然後你可以使用

,並加號將其轉換成相應的數字: var cell = sheet.getRange(myRange); var strDisplay = cell.getDisplayValue(); var numVal = + strDisplay.substring(0, 2);

相關問題