this post was submitted on 06 Nov 2023
31 points (69.1% liked)

Programmer Humor

32472 readers
1043 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 1 points 1 year ago (1 children)

So, you're talking about throwing exceptions if adding a month yields an invalid date if done without nuance, but then you're showing an example of just trying to instantiate an invalid date in java.

I believe java has an addMonths method, that in the situation we're talking about doesn't throw an exception, but rather limits the output to the 28th/ 29th/30th.

Which illustrates my point: intuitive Datetime math involves choosing how you handle edge cases that are routine and not exceptional, like "a month from January 31st".

The rest of your comment arguing about how people expect months to work just makes me feel like you've never actually talked to a business stakeholder about requirements.

If I say to add four days, will it throw an exception if it’s the 31st? No month has 35 days, so I should get an exception, right?

Yeah, it's how months work.

That's just insane. An API that doesn't increment the month when you pass the end while adding days is just broken.