I think the fundamental question is what a Date is supposed
to represent.  I have spent a LOT of time thinking about date
and time classes over the last 10 years, and have come to the
conclusion that it makes no sense to view a Date as a Timespan.

Let's take an example.
Christmas this year is going to be 2017-12-25 in every country
that uses the Gregorian calendar and observes Christmas at all.
If I ask the question
   "Is Christmas on the same date in Utah as it is in Otago?"
I expect to get the answer YES.
But if I ask the question
   "Is the span of time *called* Christmas day there same
    as the span of time *called* Christmas day here?"
I expect to get the answer NO.

It's not entirely unlike the way that '95 Hanover Street'
is the same street address in my city as '95 Hanover Street'
in Edinburgh, but they correspond to quite different places.
(Here: the Urgent Doctors; there: serviced apartments.)

Returning to Dates, I expect something like
  aDate asTimespan: aTimeZone
to return a timespan that might be 23, 24, or 25 hours
(possibly plus an extra second), with *maybe*
  aDate asTimespan
meaning
  aDate asTimespan: TimeZone here

Naturally the same goes for Weeks, Months, and Years, should
they exist.


Reply via email to