as mentioned by others, to get a timezone :
const tz = Intl.DateTimeFormat().resolvedOptions().timeZone
Not mentioned before, to get the offset from the timezone, use locale "ia" (see https://stackoverflow.com/a/64262840/1061871)
const getOffset = (tz) => Intl.DateTimeFormat("ia", { timeZoneName: "shortOffset", timeZone : tz }) .formatToParts() .find((i) => i.type === "timeZoneName").value // => "GMT+/-hh:mm" .slice(3); //=> +/-hh:mm console.log(tz +' UTC'+ getOffset(tz))