IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Веб-программирование (https://www.imho.ws/forumdisplay.php?f=29)
-   -   Недели в месяце и их просчёт, чему же верить? (https://www.imho.ws/showthread.php?t=131403)

Viromаn 12.04.2008 19:12

Недели в месяце и их просчёт, чему же верить?
 
Здравствуйте, тут у меня возникла задача сделать понедельный просчёт, но функции так я и не смог найти подходящей, всё возвращает разные значения. В одном месте якобы говорилось, что последняя неделя должна содержать в декабре 28 число, в общем, хрен его знает, если честно.
print_r(date('W', mktime(0,0,0,12,31,2007) ));

print_r(strftime("%W",strtotime("12/31/2007")));
Оба разных значения возвращают, можно 2004 подставить, к примеру. Помогите выяснить истину.

RaZEr 12.04.2008 19:16

Объясни что ты хочешь получить. Из твоего сообщения ничерта непонятно.

Viromаn 12.04.2008 20:16

А ты запусти и поймёшь. Количество недель в году и особенно, когда начинается первая неделя и кончается последняя, какого числа итп.
Название неправильно дал, недели в году, а не в месяце.

crawler 12.04.2008 20:54

Viromаn, Ты надеешься, что поддеррживая разговор в таком тоне получишь ответ? :idontnow:

Viromаn 12.04.2008 21:40

Ну в общем то тон я не задавал, и даже если ни черта не понятно, думаю, код говорит сам за себя :idontnow:

Bishop 13.04.2008 19:07

Viromаn,
Есть (мне известно) три варианта отсчёта недель в году.
Первой неделей года считается неделя:
— которая содержит 1 января;
— первая полная неделя в новом году;
— 4 и более дней которой в новом году.
Соответственно, определись, какой из форматов тебе нужен и используй функции, возвращающие номер именно в нём.
А никакой истины нет :)

Bishop 13.04.2008 20:43

Вдогонку.
Невнятное описание шести систем нумерации:
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

Viromаn 14.04.2008 16:33

Ой, cпacибo огромное Бишоп, я честно до сих пор бьюсь над этой проблемой. Вообще написал свою функцию, как высчитывал в первой неделе какое количество дней превалирует и в последней неделе тоже, и в зависимости записывал число.


Часовой пояс GMT +4, время: 13:34.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.