mam linię, która wyznacza aktualną datę i godzinę w komórce:Google Apps Script formatDate użyciu strefy czasowej użytkownika zamiast GMT
sheet.getRange(1,1).setValue(new Date());
to mam linia, która tworzy sformatowaną datę na podstawie tej komórki wartość:
var addedDate = sheet.getRange(1,1).getValue();
var addedTime = Utilities.formatDate(addedDate, "GMT", "hh:mm a");
Powstały addedTime wydaje się być w strefie czasowej GMT i muszę go mieć w strefie czasowej użytkownika. Zwykle będzie to czas wschodni w USA (-0500), ale jeśli po prostu odejmę 5 godzin od czasu, to nie uwzględnia czasu letniego (-0400).
sprawdziłem dokumentację formatDate tutaj: https://developers.google.com/apps-script/reference/utilities/utilities#formatDate(Date,String,String)
który prowadzi do oficjalnej dokumentacji klasy Java SimpleDateFormat tutaj: http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html
... ale nie mogę znaleźć listę ważnych stref czasowych tam zastąp GMT przez.
Aktualizacja: 'Session.getScriptTimeZone()' również pracował dla moich potrzeb. https://developers.google.com/apps-script/reference/base/session – mike
@mike: Jednym z potencjalnych problemów z używaniem 'Session.getScriptTimeZone()' jest wdrożenie skryptu w strefach czasowych. Twój użytkownik końcowy w innym tz skończy na sygnaturach czasowych zsynchronizowanych z tzem skryptu, a nie z tzem arkusza kalkulacyjnego. –