$date = '2008-09-16';
//- Outputs 38
echo date('W',strtotime($date));
//- Outputs 37
echo strftime('%W',strtotime($date));
This is a bit of a headache when trying to subtotal reports that are
based on a week of the year and Smarty date_format relies on strftime
while I am using date() earlier. I am unsure as to which one is
correct as I havent counted the weeks in the year to find out.. Which
should I use?
The date() function seems to count the first week from 1, while
strftime counts the first week from 0.
--
Curtis
They are different things:
W - ISO-8601 week number of year, weeks starting on Monday
%W - week number of the current year as a decimal number, starting with
the first Monday as the first day of the first week
--
-- http://alvaro.es - Álvaro G. Vicario - Burgos, Spain
-- Mi sitio sobre programación web: http://bits.demogracia.com
-- Mi web de humor al baño María: http://www.demogracia.com
--
>They are different things:
>
>W - ISO-8601 week number of year, weeks starting on Monday
>
>%W - week number of the current year as a decimal number, starting with
>the first Monday as the first day of the first week
They may well be different, but it's not obvious. I'd never have
expected there to be a 'Week 0'
--
Geoff Berrow 0110001001101100010000000110
001101101011011001000110111101100111001011
100110001101101111001011100111010101101011
http://slipperyhill.co.uk - http://4theweb.co.uk
>> W - ISO-8601 week number of year, weeks starting on Monday
>>
>> %W - week number of the current year as a decimal number, starting with
>> the first Monday as the first day of the first week
>
> They may well be different, but it's not obvious. I'd never have
> expected there to be a 'Week 0'
I think the difference is, that an ISO week belongs to the year, where
it has the most of it's days.
This implies, that week number one is the week with the first Thursday
of the year.
Regards
Jonathan
Exactly. As a result there can be years with 53 weeks, because the first
week of the new year may already start in the december of the last year.
Micha