Google Apps Script formatDate using user’s time zone instead of GMT
In a function within Google Apps Script I am using Utilities.formatDate()
let formattedTimestamp = Utilities.formatDate(new Date(), "GMT", "hh:mm a");
The resulting string is a timestamp in the GMT
time zone but I need it to be in the current user’s time zone, and account for daylight saving time.
The documentation links to the Java SimpleDateFormat class documentation but I can’t find a list of valid time zones with which I’d replace GMT
.
You can directly get the spreadsheet Time Zone like this :
var addedDate = sheet.getRange(1,1).getValue();
var addedTime = Utilities.formatDate(addedDate, SpreadsheetApp.getActive().getSpreadsheetTimeZone(), "hh:mm a");
See doc here
but Google Apps Script uses these formats if you want to choose it yourself :
The answers/resolutions are collected from stackoverflow, are licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0 .