Bug #18266 Updated: Wrong week output from date("W")

From: Date: Thu, 11 Jul 2002 08:35:00 +0000
Subject: Bug #18266 Updated: Wrong week output from date("W")
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-13838@lists.php.net to get a copy of this message
ID: 18266 Updated by: hholzgra@php.net Reported By: srabol@mail.tele.dk Status: Bogus Bug Type: Date/time related Operating System: W2K PHP Version: 4.2.1 New Comment: maybe you should use strftime() instead of date(), it has support for different week counting schemes (but be warned that PHP strftime() completely relies on the systems c library implementation of strftime() for parsing the format string, and especially windows is known for not supporting all of the documented format characters ...) from http://php.net/strftime : %U - week number of the current year as a decimal number, starting with the first Sunday as the first day of the first week %V - The ISO 8601:1988 week number of the current year as a decimal number, range 01 to 53, where week 1 is the first week that has at least 4 days in the current year, and with Monday as the first day of the week. (Use %G or %g for the year component that corresponds to the week number for the specified timestamp.) %W - week number of the current year as a decimal number, starting with the first Monday as the first day of the first week Previous Comments: ------------------------------------------------------------------------ [2002-07-10 17:18:05] srabol@mail.tele.dk Hi Thanks for the quick answer. Would you be so kind and point me to the definition of the ISO date/time specification. print date("d-m-Y",mktime(0,0,0,12,30,2002)) . " Week : " . date("W",mktime(0,0,0,12,30,2002)) . "<br>"; also state that the week is 53. I've just looked in 2 different 'paper' calanders and both of them says that Dec. 30 2002 and Dec. 31 2002 is week 1 OFF-TOPIC, sorry My problem is that I need to know when a specific week in a year starts and ends. ------------------------------------------------------------------------ [2002-07-10 16:54:01] rasmus@php.net According to the ISO date/time standards, Dec.31 2002 is indeed in week 53, so the output is correct. ------------------------------------------------------------------------ [2002-07-10 16:46:19] srabol@mail.tele.dk print date("d-m-Y",mktime(0,0,0,12,31,2002)) . " Week : " . date("W",mktime(0,0,0,12,31,2002)) . "<br>"; The above line give this result: 31-12-2002 Week : 53 And according to my calendar there is no week 53 in year 2002 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=18266&edit=1

« previous php.bugs (#13838) next »