Bug #18266 Updated: Wrong week output from date("W")
| From: | hholzgra@php.net | 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