5

Ich habe eine Datumsspalte im Format "TT/MM/JJJJ" und eine Zeitspalte im Format "HH: MM AM/PM" in der Google App-Tabelle. Im App-Skript möchte ich diese 2 Werte als Datetime verbinden. Wie kann ich das machen?Wie verschmelzen Datum und Uhrzeit als Datetime in Google Apps Spreadsheet?

Beispiel- Datum: 13/12/2010, Uhrzeit: 4:30 PM Dann möchte ich einen kombinierten Wert wie '13/12/2010 4:30 PM 'als Datetime-Objekt erhalten.

Ich habe versucht, Datum und Uhrzeit getrennt mit getYear, getDay JS Funktionen zu analysieren. Und erstellt einen neuen Termin mit

new Date(year, month, day, hours, minutes) 

Aber aus irgendeinem Grunde Zeit ‚04.30‘ als Voll seltsames Datum wird wie 30. November 1899 10.30 Uhr gezeigt. Ich kann Jahr, Tag und Monat genau extrahieren, aber nicht Stunden und Minuten.

Antwort

3

Ich habe diese in this beantwortet Google Apps forum thread.

"Zuerst gibt es keinen Unterschied zwischen Datum und Uhrzeit (neben der Formatierung), sie sind alle Date-Objekte. Jetzt zum Problem .. Die Zahl, die der Wert des Datums/der Uhrzeit in der Tabelle ist Anzahl der Tage seit der "Epoche", also die "Zeit" ist eigentlich der Dezimalteil der Zahl. Wenn Sie 0 (Null) in Ihrer Tabelle eingeben und dann das Datum/Uhrzeit-Format auswählen, sehen Sie, dass die Epoche "12 ist/30/1899 0:00:00 "in der Tabellenkalkulation der aktuellen Zeitzone. Dh in verschiedenen Tabellenkalkulationen, die mit unterschiedlichen Zeitzonen konfiguriert sind, kann sich die Epoche ändern. Und wenn Sie den gleichen Zahlenwert in zwei Tabellenkalkulationen verwenden (zB mit ImportRange) Ein Verhalten, das für mich sehr merkwürdig ist.Es war nicht immer so, aber Google schien zu glauben, dass dies für den Benutzer besser ist, denn wenn man die Einstellungen für die Zeitzone der Tabelle ändert, werden die Daten visuell nicht ändern, z. Wenn Sie in der Tabelle "1/1/10 14:00" eingeben und dann die Zeitzone in eine andere ändern, ändert sich das Datum/die Uhrzeit nicht. In der neuen Zeitzone ist es immer noch 14:00 Uhr.

Jetzt in GAS ist die Epoche "1/1/1970 0:00:00 GMT + 0", jetzt spielt die Zeitzone eine Rolle. Also ist die Epoche anders und höchstwahrscheinlich auch die Zeitzone. Dies macht die Betriebsdaten zwischen GAS und der Tabelle insgesamt unordentlich. Um die GAS-Epoche zu testen, machen Sie einen range.setValue (new Date (0)); "

Verwandte Themen