| imho.ws |
![]() |
|
|
|
# 1 |
|
Banned
Регистрация: 09.03.2008
Сообщения: 32
![]() |
Недели в месяце и их просчёт, чему же верить?
Здравствуйте, тут у меня возникла задача сделать понедельный просчёт, но функции так я и не смог найти подходящей, всё возвращает разные значения. В одном месте якобы говорилось, что последняя неделя должна содержать в декабре 28 число, в общем, хрен его знает, если честно.
print_r(date('W', mktime(0,0,0,12,31,2007) )); print_r(strftime("%W",strtotime("12/31/2007"))); Оба разных значения возвращают, можно 2004 подставить, к примеру. Помогите выяснить истину. |
|
|
|
|
# 6 |
|
Member
Регистрация: 18.08.2004
Пол: Male
Сообщения: 235
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Viromаn,
Есть (мне известно) три варианта отсчёта недель в году. Первой неделей года считается неделя: — которая содержит 1 января; — первая полная неделя в новом году; — 4 и более дней которой в новом году. Соответственно, определись, какой из форматов тебе нужен и используй функции, возвращающие номер именно в нём. А никакой истины нет
|
|
|
|
|
# 7 |
|
Member
Регистрация: 18.08.2004
Пол: Male
Сообщения: 235
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Вдогонку.
Невнятное описание шести систем нумерации: http://en.wikipedia.org/wiki/Week#Week_number Где 1 и 6 — суть одно и то же; 4 и 5 вообще непонятно что. Т.е. фактически используются три, которые я перечислил. Если вернуться к моему списку, то первый формат отличаются от других тем, что первая неделя года, также и последняя предыдущего года, т.е. считается дважды. Третий формат — это стандарт ISO 8601 (http://en.wikipedia.org/wiki/ISO_week_date). Список стран с указанием принятых в них форматов нумерации недель: http://www.pjh2.de/datetime/weeknumber/l10n.php?l=en |
|
|