JavaScript: new Date(1899, 11, 30, 0, 0, 0).getTimezoneOffset() returns incorrect value

new Date(1899, 11, 30, 0, 0, 0).getTimezoneOffset()
returns the incorrect value e.g. (-122.06666666666666) for my timezone

in comparison with

new Date().getTimezoneOffset()
(-120)

Why?

Are there any valid excuses for this behavior?