Thread: Age function

Age function

From
"Mihai Gheorghiu"
Date:
PG7.2.1 on RH7.3

SELECT AGE ('10/10/02', '1/10/02');
8mons 30days 23:00

SELECT AGE ('10/10/02 4:00PM', '1/10/02');
9mons 15:00

Please help.
Thank you all.



Re: Age function

From
Joe Conway
Date:
Mihai Gheorghiu wrote:
> PG7.2.1 on RH7.3
>
> SELECT AGE ('10/10/02', '1/10/02');
> 8mons 30days 23:00
>
> SELECT AGE ('10/10/02 4:00PM', '1/10/02');
> 9mons 15:00
>
> Please help.
> Thank you all.

Not clear what you think the problem is. If it is the apparent 1 hr
discrepancy, I think that is due to the fact that January 10th is "standard"
time for your timezone whereas October 10th is still "daylight savings" time.
Try two dates within daylight savings time:

test=# SELECT AGE ('10/10/02 4:00PM', '7/10/02');
      age
--------------
  3 mons 16:00
(1 row)

test=# SELECT AGE ('10/10/02', '7/10/02');
   age
--------
  3 mons
(1 row)

Looks correct to me.

Joe




Re: Age function

From
"Mihai Gheorghiu"
Date:
Thanks for the daylight savings tip. However:

SELECT age('10/10/02' :: date, '1/10/02' :: date);
8mons 30days 23:00

SELECT age(date('10/10/02'), date('1/10/02'));
8mons 30days 23:00

When I cast to date, I should get 9 months.
It looks like it works timestamp, with hours and fractions thereof set to
zero. It should not take into account daylight savings, either.
I searched the archives, and this topic has come up more than once over the
past two years.

-----Original Message-----
From: Joe Conway <mail@joeconway.com>
To: Mihai Gheorghiu <tanethq@earthlink.net>
Cc: pgsql-general@postgresql.org <pgsql-general@postgresql.org>
Date: Thursday, October 10, 2002 6:09 PM
Subject: Re: [GENERAL] Age function


>Mihai Gheorghiu wrote:
>> PG7.2.1 on RH7.3
>>
>> SELECT AGE ('10/10/02', '1/10/02');
>> 8mons 30days 23:00
>>
>> SELECT AGE ('10/10/02 4:00PM', '1/10/02');
>> 9mons 15:00
>>
>> Please help.
>> Thank you all.
>
>Not clear what you think the problem is. If it is the apparent 1 hr
>discrepancy, I think that is due to the fact that January 10th is
"standard"
>time for your timezone whereas October 10th is still "daylight savings"
time.
>Try two dates within daylight savings time:
>
>test=# SELECT AGE ('10/10/02 4:00PM', '7/10/02');
>      age
>--------------
>  3 mons 16:00
>(1 row)
>
>test=# SELECT AGE ('10/10/02', '7/10/02');
>   age
>--------
>  3 mons
>(1 row)
>
>Looks correct to me.
>
>Joe
>
>
>