2013-03-05 9 views
8

Mam tablicę dat z różnymi datami w dacie.Ustaw datę/godzinę na 00:00:00 w Google Apps Script

przykład: {15/04/13 05:00:00, 13:00:00 10/03/13, 10/02/13 02:00:00 itp}

Jeśli chciał aby zmienić godzinę na 00:00:00, aby tablica wyglądała następująco:

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

Jak to zrobić?

Próbowałem już używać getTime(), ale nie mam kontroli przez te godziny. Każda pomoc byłaby świetna. Dzięki!

EDIT: Próbowałem tej pętli:

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)); 
    } 

Ale zamiast pożądanego wyniku, mam następującą wartość: „12/20/5828963 00:00:00” dla każdej pojedynczej komórki.

+0

są wartościami w datach arkusza lub strin gs? (możesz zmienić format daty w ustawieniach formatu arkusza kalkulacyjnego) jaka była rzeczywista wartość, która powróciła "12/20/5828963 0:00:00" –

+0

Nie są to daty, a nie ciągi. {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 19.03.2013 5:00:00 3/26/2013 1:00:00 3/2/2013 4:00:00 3/18/2013 5:00:00} – user1786546

+0

Nie widzę żadnych separatorów w twoim przykładzie ... ?? zobacz edytowaną odpowiedź na przykładzie. –

Odpowiedz

13

Google Apps Script jest JavaScript, data manipulacje are explained here,

ustawiania godziny idzie tak:

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

Oto przykład:

// 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 
} 

wartość Rejestrator: Sat Mar 16 00:00:00 GMT+01:00 2013

+0

Proszę zobaczyć moje edytowane pytanie. – user1786546

+0

Twój przykład to zrobił. Dzięki! Z jakiegoś powodu muszę ustawić nową datę() jako osobną zmienną. – user1786546

+0

@ user1786546 - oczywiście musisz umieścić go w osobnej zmiennej, ponieważ funkcja "setHours" zwraca liczbę i jeśli przypiszesz "nową datę" i "setHours" razem, to zmienna "x" otrzyma tę liczbę a nie obiekt daty, jak chciał. – TheCuBeMan

Powiązane problemy