const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
console.log(timezone);
// current datetime string in America/Chicago timezone
let chicago_datetime_str = new Date().toLocaleString("en-US", { timeZone: "America/Chicago" });
// create new Date object
let date_chicago = new Date(chicago_datetime_str);
function changeTimezone(date, ianatz) {
// suppose the date is 12:00 UTC
var invdate = new Date(date.toLocaleString('en-US', {
timeZone: ianatz
}));
// then invdate will be 07:00 in Toronto
// and the diff is 5 hours
var diff = date.getTime() - invdate.getTime();
// so 12:00 in Toronto is 17:00 UTC
return new Date(date.getTime() - diff); // needs to substract
}
// E.g.
var here = new Date();
var there = changeTimezone(here, "America/Toronto");
console.log(`Here: ${here.toString()}
Toronto: ${there.toString()}`);
Run code snippetHide results
Intl.DateTimeFormat().resolvedOptions().timeZone