in reply to
Re: day of year calculation
in thread day of year calculation
1 less function call:
#!/usr/local/bin/perl
use strict;
sub dayofyear {
my ($day1,$month,$year)=@_;
my @cumul_d_in_m =
(0,31,59,90,120,151,181,212,243,273,304,334,365);
my $doy=$cumul_d_in_m[--$month]+$day1;
return $doy if $month < 2;
return $doy unless $year % 4 == 0;
return ++$doy unless $year % 100 == 0;
return $doy unless $year % 400 == 0;
return ++$doy;
}
print dayofyear(10,3,2005)."\n";
print dayofyear(10,3,2004)."\n";
print dayofyear(10,2,2005)."\n";
print dayofyear(10,2,2004)."\n";