I noticed that for us on Eastern Time zone (\"America/New_York\") with timezone offset of \"-05:00\" Date.getTimezoneOffset() returns a positive
Because that's how it's defined. Quoting the doc (MDN):
The time-zone offset is the difference, in minutes, between UTC and local time. Note that this means that the offset is positive if the local timezone is behind UTC and negative if it is ahead.