11 ms·
It doesn’t have a calendar system. Hopefully this won't come off as mere quibbling about terminology, but to me it makes more sense to say that it does have a
by adrianmonk 10y ago
It doesn’t have a calendar system.
Hopefully this won't come off as mere quibbling about terminology, but to me it makes more sense to say that it does have a calendar system, it's just that it isn't any of the ones humans use. When I write "April 23, 2017 6:04pm CDT", the calendar system is Gregorian. If I were to write the integer value underlying a java.util.Date, I would argue the calendar system is Unix Epoch.
Both are systems that pick out arbitrary points in history (year 1 AD or midnight January 1, 1970) to base numbers off of. Both have rules on how you manipulate those numbers and what values mean.
If someone persists in asking what the time zone is for a java.util.Date, I would probably tell them that, more or less, it has its own time zone. This isn't quite true, but it's close because time zones are basically parameters for parameterized calendar types, so a time zone kind of implies a calendar.
Anyway, the point is that thinking of it as its own calendar system hopefully makes it clear that it stands on its own.
- rtpg 10y agoSo this isn't super exact in the common usage of calendars, in part because calendars are usually implicitly fixed to a timezone (hence Google Calendar asking to change your calendar's timezone). For example, December 25th might be Christmas, but you cannot define two Dates that "delineate" Christmas in the world, because the start time is different dependent on the time zone. While this is kinda pedantic to Earth calendars, it's also the kind of problem that most commonly causes issues in our programming. You can do "if date < christmas", but it most likely won't do what you want it to do if your program is meant to run in many timezones.