function getTimeZoneBrowser() { let date = new Date(); return ("(GMT" + getTimeZoneOffsetFromGMT(date) + ") " + getTimeZonePortionOfCountryCovered(date) + getTimeZoneDatabaseName()); } function getTimeZoneOffsetFromGMT(date) { var offset = date.getTimezoneOffset(), o = Math.abs(offset); return (offset < 0 ? "+" : "-") + ("00" + Math.floor(o / 60)).slice(-2) + ":" + ("00" + (o % 60)).slice(-2); } function getTimeZonePortionOfCountryCovered(date) { return date.toString().replace(/(.*\((.*)\).*)/, '$2'); } function getTimeZoneDatabaseName() { var tzdbn = Intl.DateTimeFormat().resolvedOptions().timeZone; if (typeof tzdbn != "undefined") return " (" + tzdbn + ")"; else return ""; }