Dates and times are always a nightmare to handle (kudos to the TZ maintainers!), so I’m willing to extend a lot of sympathy to the authors of the Date object and it’s methods / functions.
But I do wish they’d refrain from hallucinogens next time they undertake a project like this.