Frage

Ich habe eine Spalte Datum in 'tt / mm / yyyy Format und Zeitspalten in 'HH: MM AM / PM' Format in Google App-Tabelle. In-App-Skript, mag ich diese 2 Werte als Datum beizutreten. Wie kann ich das tun?

Beispiel- Datum: 13.12.2010, Uhrzeit: 04.30 Dann mag ich wie '13 / 12/2010 04.30‘als Datetime-Objekt einen kombinierten Wert erhalten.

habe ich versucht, zu parsen Datum und Zeit getrennt mit getYear, getDay JS-Funktionen. Und ein neues Datum erstellt mit

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

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

War es hilfreich?

Lösung

Ive erhielt diese beantwortet in dieses Google Apps Forum-Thread.

"Erstens gibt es keinen Unterschied zwischen Datum und Zeit (neben der Formatierung), sie sind alle Date-Objekte. Nun zum Problem .. Die Zahl, die der Wert der Datum / Uhrzeit in der Tabelle ist, ist die Anzahl der Tage seit Beginn der „Epoche“, so die „Zeit“ ist eigentlich der Dezimalteil der Zahl. Wenn Sie 0 (Null) in Ihrer Tabelle eingeben und dann das Datetime-Format auswählen, werden Sie sehen, dass die Epoche „12/30/1899 0:00:00“ in der Tabelle aktuellen Zeitzone. das heißt in verschiedenen Kalkulationstabellen mit verschiedenen Zeitzonen konfiguriert ist, kann die Zeit ändern. Und wenn Sie die gleiche Anzahl Wert in zwei Tabelle (zum Beispiel unter Verwendung von Importrange) arbeiten werden Sie das anders. Ein Verhalten, das sehr seltsam für mich ist. Es war nicht immer so, aber schien Google denke, das für den Benutzer besser ist, denn wenn man die Tabelle Zeitzone-Einstellungen ändert, werden nicht die Daten visuell ändern, zum Beispiel wenn Sie „1/1/10 14.00 Uhr“ in der Tabelle eingeben und dann die Zeitzone zu jedem anderen ändern, das Datum / Zeit wird sich nicht ändern. Es wird nach wie vor 14.00 Uhr wird in der neuen Zeitzone.

Jetzt in GAS, die Epoche ist "1970.01.01 00.00.00 GMT + 0", jetzt die Zeitzone Rolle. So ist die Epoche verschieden sind und höchstwahrscheinlich die Zeitzone zu. Dies macht Termine zwischen Gas und der Tabelle ein totales Durcheinander arbeitet. Um die GAS Epoche zu testen, macht ein range.setValue (new Date (0)); „

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top