From: | Ken Causey <ken(at)premiernet(dot)net> |
---|---|
To: | Guillaume Perréal <perreal(at)lyon(dot)cemagref(dot)fr> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Getting number of days in a month |
Date: | 2000-04-12 16:22:19 |
Message-ID: | 3.0.1.32.20000412112219.017b8f44@premiernet.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Here's my perl implementation:
#######################################
#
# lastday( month, year (4 digit) )
#
# Returns: last day of the month
#
#######################################
sub lastday {
my $month=shift;
my $year= shift;
$month--;
my @days = (31,0,31,30,31,30,31,31,30,31,30,31);
if($days[$month] != 0){
return $days[$month];
} else {
# It's Feb, test for leap year
if($year % 4 != 0){
return 28;
} elsif($year % 400 == 0){
return 29;
} elsif($year % 100 == 0){
return 28;
} else {
return 29;
}
}
}
Ken Causey
ineffable
At 02:26 PM 4/12/00 +0200, you wrote:
>To obtain the number of days in a month, I wrote this function:
>
>CREATE FUNCTION dayCountOfMonth(datetime) RETURNS float AS
>' DECLARE
> theDate ALIAS FOR $1;
> monthStart date;
> monthEnd date;
> BEGIN
> monthStart := DATE_TRUNC(''month'', theDate);
> monthEnd := monthStart + ''1 month''::timespan - ''1 day''::timespan;
> RETURN DATE_PART(''doy'', monthEnd) - DATE_PART(''doy'', monthStart) + 1;
> END;
>' LANGUAGE 'PL/pgSQL';
>
>It seems to work, except with the month of October (10).
>
>dayCountOfMonth('1997-10-1') => 30
>dayCountOfMonth('1998-10-1') => 30
>dayCountOfMonth('1999-10-1') => 31
>dayCountOfMonth('2000-10-1') => 30
>dayCountOfMonth('2001-10-1') => 30
>dayCountOfMonth('2002-10-1') => 30
>dayCountOfMonth('2003-10-1') => 30
>dayCountOfMonth('2004-10-1') => 31
>
>Just one question: WHY??????
>(Note: no trouble with February)
>
>Is there a function that give the number of days of a month?
>
>Thanks,
>
>Guillaume Perréal - Stagiaire MIAG
>Cemagref (URH), Lyon, France
>Tél: (+33) 4.72.20.87.64
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Haroldo Stenger | 2000-04-12 17:32:45 | Re: PostgreSQL-JDBC correct URL |
Previous Message | Andrew Perrin - Demography | 2000-04-12 15:42:04 | Re: Perl error: fetchrow_hashref failed |