Google Apps Script formatDate über die Zeitzone des Benutzers statt GMT
Habe ich eine Zeile, setzt das aktuelle Datum und die Uhrzeit in eine Zelle:
sheet.getRange(1,1).setValue(new Date());
Dann habe ich eine Linie erstellt, die eine formatierte Datum, basierend auf die Zelle Wert:
var addedDate = sheet.getRange(1,1).getValue();
var addedTime = Utilities.formatDate(addedDate, "GMT", "hh:mm a");
Den daraus resultierenden addedTime zu sein scheint, in der GMT-Zeitzone, und ich brauche es um in die Zeitzone des Benutzers. Es wird in der Regel US Eastern Time (-0500), aber wenn ich einfach subtrahieren Sie 5 Stunden ab dem Zeitpunkt dann, dass nicht Konto für die Sommerzeit (-0400).
Ich habe in der Dokumentation für formatDate hier: https://developers.google.com/apps-script/reference/utilities/utilities#formatDate(Date,String,String)
die links zu den offiziellen Java " = SimpleDateFormat Klasse Dokumentation hier: http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html
... aber ich kann nicht finden, eine Liste von gültigen Zeitzonen dort zu ersetzen, die GMT mit.
InformationsquelleAutor mike | 2013-09-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie direkt den spreadsheet Zeitzone wie diese :
Sehen doc hier
aber Google Apps-Skript verwendet diese Formate, wenn Sie wollen wählen Sie selbst :
http://joda-time.sourceforge.net/timezones.html
Session.getScriptTimeZone()
arbeitete auch für meine Bedürfnisse. developers.google.com/apps-script/reference/base/sessionEin potentielles problem bei der Verwendung von
Session.getScriptTimeZone()
ist, wenn Sie bereitstellen Sie das Skript über Zeitzonen hinweg. Ihre end-Benutzer in einem anderen tz wird am Ende mit Zeitstempel synchronisiert das Skript tz, anstatt das Arbeitsblatt ist tz.InformationsquelleAutor Serge insas