> On 03 Jun 2015, at 16:57, Ben Coman <[email protected]> wrote:
> 
> On Wed, Jun 3, 2015 at 8:36 PM, Sven Van Caekenberghe <[email protected]> wrote:
>> 
>>> On 03 Jun 2015, at 04:20, Esteban A. Maringolo <[email protected]> wrote:
>>> 
>>> I'm debugging the PostgresV3 driver for GLORP, and among other test
>>> failures, there is a kind that particularly bugs me: two identical
>>> dates do not match, the reason? The internal "start" of aDate
>>> (Timespan) is a DateAndTime, and as such has a timezone offset.
>>> 
>>> Is this conceptually right?
>>> 
>>> Esteban A. Maringolo
>> 
>> Yes, it is bit annoying and weird, but it all does make sense as well.
> 
>> The concept of a date cannot be seen independent from a timezone (day 
>> transitions are different for you than for me, new year starts at different 
>> moments depending on where you live).
>> Defining a Date as the timespan of one day starting at a specific moment in 
>> time is correct.
> 
> I've observed several of date/time discussions that I didn't really
> follow all the details, but my first thought here is that Date, Time,
> and DateAndTime are three separate concepts.  Shouldn't timezones only
> affect comparing dates if you are calculating the hours between dates?
> Adding the concept of "starting at a specific moment in time" would
> seem to turn a Date into a DateAndTime, which is the point where
> timezones should have an impact.

Currently: Date is a Timespan of 24h starting at a specific, universally unique 
point in time (a DateAndTime). You can ask it things like when did you begin, 
end, do you contain t.

Other, more abstract notions of a Date are possible, of course, but that is not 
what we have.

> For example, if you are reading a date "dd/mm/yyyy" from some database
> field, what timezone do you assign?

That is indeed the (original) problem.

But even dd/mm/yyyy in some random DB or somewhere on the internet implies a 
timezone, else it does not make (enough/total) sense.

Again, your date today is not equal to mine, at some point in time we are in 
different days, it is that simple.

> cheers -ben
> 
>> One thing you could try is to make the starting time UTC, a bit like
>> 
>>  Date today translateToUTC.
>> 
>>  DateAndTime now asUTC asDate.
>> 
>> But I am not sure how much of your problems this would solve.
>> 
>> Sven


Reply via email to