3 ms·
There's one more test: the Thailand test. I've been bitten by issues in Java where Calendar.getInstance() will return a Thai Buddhist calendar, which is exactly
by QuercusMax 2y ago
There's one more test: the Thailand test. I've been bitten by issues in Java where Calendar.getInstance() will return a Thai Buddhist calendar, which is exactly the same as the Gregorian calendar except 543 years in the future.
- brudgers 2y agoWouldn’t issues in Java be failing “The Indonesian Test?”
- cirrus3 2y agoWhy are you using the Calendar API in Java? It is full of issues like this.
- tisdadd 2y agoI never really understood why not simply use milliseconds since the epoch and keep track of a time zone separately if needed... This allows fairly easy conversion to most native systems i have worked with, easy sorting and diff operations as well as final display control. Also don't have a need to be thinking about daylight savings then, or do other conversions for say timesheets.
- patrickthebold 2y agoIt depends on what you need to do. If you just need to say when something happened (e.g. some log event) then milliseconds since the epoch is fine. If want a user to schedule a reoccurring meeting at 8am on the first Thursday of every month, you can also keep a set of timestamps as milliseconds since the epoch, but you are going to need to do some work to figure out the right numbers correctly.
- XCabbage 2y ago> If want a user to schedule a reoccurring meeting at 8am on the first Thursday of every month, you can also keep a set of timestamps as milliseconds since the epoch No, you can't really, especially if the recurring meetings go on more than a few years into the future. If the time zone rules themselves change (e.g. if the user's country abolishes or introduces DST), then the timestamps you stored will become wrong in light of the change.
- tsss 2y agoBecause a calendar date and a point in time are entirely different things.
- klysm 2y agoTimezone rules change. If you want to be fully robust, you need to store the intent of the time
- thebruce87m 2y agoI don’t know anything about calendar pitfalls or Java, but I would have loved to see a better alternative suggested here.
- QuercusMax 2y agoI didn't write the code originally; this was like 15 years ago. If the API still exists people will misuse it.
- klik99 2y agoExists in iOS too - once built an iPad black car dispatch app where one driver was constantly having issues. After weeks of remote debugging the car company owner just asked the driver to come in, as soon as he told me it was a Buddhist calendar I had it fixed. Now I always triple check my assumptions.