2013-03-05 49 views
8

我有日期不同的日期數組。在Google Apps腳本中將日期/時間設置爲00:00:00

實施例:{13年4月15日5時00分○○秒,13年3月10日13:00:00,13年2月10日02:00:00,等}

如果我想要將小時更改爲00:00:00,因此該陣列會顯示爲:

{4/15/13 00:00:00,03/10/13 00:00:00,02/10/13 00 :00:00等}

我該怎麼做?

我試過使用getTime(),但是我沒有控制幾個小時。任何幫助都會很棒。 謝謝!

編輯:我想這個循環:

for (var i = 0; i < gValues.length; i++) { // repeat loop 
    sheet.getRange(i + 2, 7, 1, 1).setValue(gValues[i][0].setHours(00,00,00,00)); 
    } 

而不是所期望的結果,我得到這個值:「12/20/5828963 0:00:00」的每一個細胞。

+0

是您的工作日日期或版本中的值gs? (即,您可以更改電子表格格式設置中的日期格式)返回的實際值是什麼「12/20/5828963 0:00:00」 – 2013-03-05 19:44:45

+0

不是它們是日期,而不是字符串。 {3/16/2013 17:00:00 3/16/2013 17:00:00 3/20/2013 5:00:00 3/20/2013 5:00:00 3/21/2013 5:00:00 3/21/2013 5:00:00 3/21/2013 5:00:00 3/25/2013 5:00:00 3/25/2013 5:00:00 3/13/2013 5:00:00 3/26/2013 1:00:01 3/6/2013 4:00:00 3/5/2013 4:00:00 3/19/2013 5:00:00 3/26/2013 1:00:00 3/2/2013 4:00:00 3/18/2013 5:00:00} – user1786546 2013-03-05 20:22:53

+0

我的例子中沒有看到任何分隔符...... ??請參閱編輯答案舉例。 – 2013-03-05 20:28:40

回答

13

谷歌Apps Script是JavaScript的,日期操作are explained here

設定的時間是這樣的:

Date.setHours(hour,min,sec,millisec) 

這裏有一個例子:

// 3/16/2013 17:00:00 

function test(){ 
var x = new Date('3/16/2013 17:00:00');// x is now a date object 
x.setHours(0,0,0,0); set hours to 0, min Secs and milliSecs as well 
Logger.log(x);// show result 
} 

記錄儀值:Sat Mar 16 00:00:00 GMT+01:00 2013

+0

請參閱我編輯的問題。 – user1786546 2013-03-05 19:36:14

+0

你的例子做到了。謝謝!出於某種原因,我必須使新的Date()成爲一個單獨的變量。 – user1786546 2013-03-05 23:25:27

+0

@ user1786546 - 當然你必須把它放在一個單獨的變量中,因爲「setHours」函數返回一個數字,如果你將「new Date」和「setHours」分配在一起,那麼「x」變量將得到這個數字而不是日期對象,如通緝。 – TheCuBeMan 2016-05-10 11:10:08