Skip site navigation (1) Skip section navigation (2)

Dates and daylight saving time

From: Fduch the Pravking <fduch(at)antar(dot)bryansk(dot)ru>
To: pgsql-bugs(at)postgresql(dot)org
Subject: Dates and daylight saving time
Date: 2002-01-31 16:03:54
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-bugs
I got the following problem in PostgreSQL 7.1.3.

When I need to get next day relative to another one,
I do the following query:
SELECT date(date ? + interval '1 day').

But on '2001-10-28', I get this:

test=> SELECT date(date '2001-10-28' + interval '1 day');
(1 row)

It might look VERY strange if we don't know that the date of '2001-10-28'
is the date of switching from daylight saving time to winter time,
and before the following query is executed:

test=> SELECT timestamp(date '2001-10-28' + interval '1 day');
 2001-10-28 23:00:00+03
(1 row)

Why the addition of '1 day' to some date (or timestamp) is equal to
addition of exactly 24 hours (regardless of real length of this day),
while the addition of '1 month' to some date varies depending on month's length?
And why no separate '+' operator for 'date' and 'interval' types?

How to handle such situation?

Fduch M. Pravking

pgsql-bugs by date

Next:From: Tom PfauDate: 2002-01-31 16:44:53
Subject: Re: Dates and daylight saving time
Previous:From: Peter V. CooperDate: 2002-01-31 15:37:27
Subject: New to Postgresql - Backend timeout /JDBC

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group