На какой по счёту неделе находится 31 декабря?

bubchen

Новичок
На какой по счёту неделе находится 31 декабря?

Всем привет!

На какой по счёту неделе находится 31 декабря какого-либо года?

Функция

PHP:
 date("W", mktime(0,0,0,12,31,$year))
всегда выдаёт 52, хотя 2006 год доказывает что 31 число может находиться на 53 неделе.

В непонятках :(

Спасибо заранее.
 

voodoo

Новичок
Re: На какой по счёту неделе находится 31 декабря?

о чего гугль говорит
В международном стандарте ISO-8601 (упомянутом в разделе 6.6) каждой неделе года присваивается номер. Для недели, часть которой находится в одном году, а часть в другом, присваивается номер в том году, которому принадлежит большее количество дней. Это означает, что Неделя 1 каждого года включает 4 января,

или

В любом году неделя 1 - это неделя, которая включает первый четверг в январе.

В большинстве годов 52 недели, но в годах, которые начинаются в четверг, и в високосных годах, начинающихся в среду - 53 недели.
php -r 'echo date("W", mktime(0,0,0,12,31,2004));'
показывает 53
 

tony2001

TeaM PHPClub
# php -r 'var_dump(date("W", mktime(1,0,0,12,31,2006)));'
string(2) "52"
# php -r 'var_dump(date("W", mktime(1,0,0,12,31,2007)));'
string(2) "01"
# php -r 'var_dump(date("W", mktime(1,0,0,12,31,2008)));'
string(2) "01"
# php -r 'var_dump(date("W", mktime(1,0,0,12,31,2009)));'
string(2) "53"
# php -r 'var_dump(date("W", mktime(1,0,0,12,31,2010)));'
string(2) "52"

W - ISO-8601 week number of year, weeks starting on Monday (added in PHP 4.1.0)
 
Сверху