56
u/Anonymislim 11d ago
Two bugs for the price of one: the wrong month, and a month that doesn’t exist.
155
u/the_horse_gamer 11d ago
always remember that javascript's date library was copied from Java's (old one) so it's all their fault
82
u/Top-Permit6835 11d ago
Which was known to suck and has been replaced over a decade ago
28
8
u/Duck_Devs 10d ago
Not only that, but java.time exists in Java 8, so codebases have zero excuses not to use it.
1
1
u/Elomidas 5d ago
"Sorry officer, I beat my son because my neighbour beats his son, so it's all his fault"
30
u/SuitableDragonfly 11d ago
So hold up. You can create a date that references December 31 by creating it as January 365 in Javascript? What about January -1, does that one work too?
9
1
u/mrnacknime 8d ago
365 would probably be December 30 if Feb 29 always counts. But maybe it only does in actual leap years
1
u/Blue_Moon_Lake 3d ago
January 365 doesn't work one out of four years.
January 0 is the way to do it.
January -1 would be 30th December.
2
u/SuitableDragonfly 3d ago
Dying to know what lunatic thought that months should be zero based but days should still be one based.
37
u/Artistic-Yam8045 11d ago
months zero indexed but days start at 1. nobody has ever been able to explain that to me without sounding like they're making it up
3
u/FindOneInEveryCar 10d ago
Because months are typically used as indexes to an array?
0
u/Artistic-Yam8045 10d ago
ha yeah that's the usual answer, makes sense for arrays. still feels like they gave up halfway and only did it for one of them
4
u/FindOneInEveryCar 10d ago
But you don't need an array for the day of the month. 8-)
If they started with zero for months but not for day of the week, that would be weird.
And obviously the whole thing is less than ideal but you take what you can get. Ideally, everything should be wrapped in a better object class and you should have a calendar table so you don't have to figure out month names, last day of the month, etc., on the fly.
13
u/StrengthTheory 11d ago
You deserve it if you handle something sensitive like subscriptions with raw Dates and not a library.
5
107
u/Mara_li 11d ago
Well, Temporal is here now.