do you know how to get the current week number?
There isn't some kind of function to calculate it.
I tried several things using localtime but noting really worked.
No, actually I do not know. Last year I used the calculation:
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = gmtime( time() );
$year += 1900;
# this works only because this year January 1, 2001. was monday.
$week = (($yday-1) / 7)+1;
$week =~ s/\..*$//;
$mon = '0' . $mon if $mon < 10;
$mday = '0' . $mday if $mday < 10;
$day = "$year$mon$mday";
Today I changed one line to
$week = ($yday / 7)+1;
This was a quick and dirty solution. I should have used something like
$week = (($yday-$yfd) / 7)+1;
where $yfd (year first day) is calculated based on the first day of the
and so on.
However counting the weeks is not well defined. There are different
definitions on which week is the first in the year.
[ back to toc ]