4 ms·
Any operation like adding/substracting months from a date is very messy to implement yourself. What is one month ago when you are March, 31st? We have to deal
by forty 4y ago
Any operation like adding/substracting months from a date is very messy to implement yourself.
What is one month ago when you are March, 31st?
We have to deal with monthly subscriptions and it's not fun.
- TekMol 4y agoFirst you have to define what you mean by "one month ago". Is it 30 days ago? Or last month? Or a certain number of milliseconds ago? No library can help you with that. You have to define what you actually want to calculate.
- 9wzYQbTYsAIc 4y agoAt some point you will need to calculate how many leap years to account for and whether or not a leap second was introduced in between two arbitrary times. Time libraries can help you with that.
- forty 4y agoExactly there is the same problem, to a lesser extend, when adding/subtracting years which is not trivial to do properly.
- 9wzYQbTYsAIc 4y agoLet alone determining requirements for thresholds. This discussion reminds me of this bug report: https://bugzilla.mozilla.org/show_bug.cgi?id=1715455 https://bugzilla.mozilla.org/show_bug.cgi?id=1715455
- ponyous 4y agoWhy can’t you use Date.getFullYear with setFullYear?
- forty 4y agoAbsolutely. moment has a definition of that and compute it in a consistent way, which is useful. But if you want to come up with a different definition then it cannot help you indeed.
- throwaway0x7E6 4y ago>What is one month ago when you are March, 31st? "one month ago" is between "a few weeks ago" and "a few months ago". >We have to deal with monthly subscriptions and it's not fun. it is a lot less unfun if you define a month as N calendar days in your terms of service, like virtually everyone does
- forty 4y agoYes, that's what we do mostly, except to track external subscriptions that actually use months (I believe the Google playstore does that but I could be mistaken with another service)
- inopinatus 4y agoAnd they would be guilty of misleading the consumer when doing so, and possibly accounting fraud as well because neither GAAP nor IFRS recognise such a calendar; the closest available is the 4-4-5 standard. This is why we don’t let engineers write contracts. Many seem to think that law is a programming language in which they can redefine reality. It ain’t.