ID:               20594
 Comment by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
 Status:           Open
 Bug Type:         Date/time related
 Operating System: FreeBSD
 PHP Version:      4.2.3
 New Comment:

As stated in the manual, date("W", ...) returns the ISO8601 week
number. The first week number of any year is always 1. But January, 1st
is sometimes not in the first week of a year, but in the last week of
the previous year. See e.g.
<http://www.phys.uu.nl/~vgent/calendar/isocalendar.htm> for details.


Previous Comments:
------------------------------------------------------------------------

[2002-11-23 01:09:02] [EMAIL PROTECTED]

using date and the "W" (shows the week number) switch. Will return the
FIRST week number differantly depending on the year.

date("W", mktime(0,0,0,1,1,2000)); will return 0 
date("W", mktime(0,0,0,1,1,2001)); returns 1.

Only differance is the year. Here is a list of years and there first
week vaules, including Leap year.

for ($q=2001; $q<2021; $q++) {
        $test1= date("W",  mktime(0,0,0,1,1,$q));
        $leap1= date("L",  mktime(0,0,0,1,1,$q));
        echo "Year: $q WeekNum: $test1 LeapYear: $leap1<br>";
}

Year: 2001 WeekNum: 1 LeapYear: 0
Year: 2002 WeekNum: 1 LeapYear: 0
Year: 2003 WeekNum: 1 LeapYear: 0
Year: 2004 WeekNum: 1 LeapYear: 1
Year: 2005 WeekNum: 0 LeapYear: 0
Year: 2006 WeekNum: 0 LeapYear: 0
Year: 2007 WeekNum: 1 LeapYear: 0
Year: 2008 WeekNum: 1 LeapYear: 1
Year: 2009 WeekNum: 1 LeapYear: 0
Year: 2010 WeekNum: 0 LeapYear: 0
Year: 2011 WeekNum: 0 LeapYear: 0
Year: 2012 WeekNum: 0 LeapYear: 1
Year: 2013 WeekNum: 1 LeapYear: 0
Year: 2014 WeekNum: 1 LeapYear: 0
Year: 2015 WeekNum: 1 LeapYear: 0
Year: 2016 WeekNum: 0 LeapYear: 1
Year: 2017 WeekNum: 0 LeapYear: 0
Year: 2018 WeekNum: 1 LeapYear: 0
Year: 2019 WeekNum: 1 LeapYear: 0
Year: 2020 WeekNum: 1 LeapYear: 1

------------------------------------------------------------------------

[2002-11-23 01:08:31] [EMAIL PROTECTED]

using date and the "W" (shows the week number) switch. Will return the
FIRST week number differantly depending on the year.

date("W", mktime(0,0,0,1,1,2000)); will return 0 
date("W", mktime(0,0,0,1,1,2001)); returns 1.

Only differance is the year. Here is a list of years and there first
week vaules, including Leap year.

for ($q=2001; $q<2021; $q++) {
        $test1= date("W",  mktime(0,0,0,1,1,$q));
        $leap1= date("L",  mktime(0,0,0,1,1,$q));
        echo "Year: $q WeekNum: $test1 LeapYear: $leap1<br>";
}

Year: 2001 WeekNum: 1 LeapYear: 0
Year: 2002 WeekNum: 1 LeapYear: 0
Year: 2003 WeekNum: 1 LeapYear: 0
Year: 2004 WeekNum: 1 LeapYear: 1
Year: 2005 WeekNum: 0 LeapYear: 0
Year: 2006 WeekNum: 0 LeapYear: 0
Year: 2007 WeekNum: 1 LeapYear: 0
Year: 2008 WeekNum: 1 LeapYear: 1
Year: 2009 WeekNum: 1 LeapYear: 0
Year: 2010 WeekNum: 0 LeapYear: 0
Year: 2011 WeekNum: 0 LeapYear: 0
Year: 2012 WeekNum: 0 LeapYear: 1
Year: 2013 WeekNum: 1 LeapYear: 0
Year: 2014 WeekNum: 1 LeapYear: 0
Year: 2015 WeekNum: 1 LeapYear: 0
Year: 2016 WeekNum: 0 LeapYear: 1
Year: 2017 WeekNum: 0 LeapYear: 0
Year: 2018 WeekNum: 1 LeapYear: 0
Year: 2019 WeekNum: 1 LeapYear: 0
Year: 2020 WeekNum: 1 LeapYear: 1

------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=20594&edit=1

Reply via email to