Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Работа с датой - по номеру недели узнать числа в неделе
 
 автор: Дмитрий Ле   (02.10.2011 в 13:20)   письмо автору
 
 

Во входных данных есть номер года и номер недели. Нужно получить массив из 7-ми дат, находящихся в этой неделе. Что-то никак не могу сообразить с какого бока подойти к этой задаче. Подскажите в каком направлении двигаться.

  Ответить  
 
 автор: cheops   (02.10.2011 в 14:31)   письмо автору
 
   для: Дмитрий Ле   (02.10.2011 в 13:20)
 

Можно начать отталкиваться от следующего алгоритма, взять функцию mktime() и передать ей год, занулив все остальные параметры. Вы получите UNIXSTAMP-метку начала года. В часе 3600 секунд, в сутках - 86400, в неделе - 604800. Вам остается только умножить последнее число на количество недель и прабавить их к началу года, так вы получите начало недели. Потом можно прибавлять по 86400 секунд, получая соответствующие дни недели. На каждом этапе можно контролировать что получается, передавая UNIXSTAMP-время в качестве второго параметра функции date().

PS Только учтите, что существует несколько нотаций подсчета недель: ровно 7 дней от начала года, первая неделя до воскресенья, первая неделя до понедельника. Сначала нужно выяснить, какая именно система подсчета недель нужна в вашем случае. Однако порядок работы остается такой же, только в случае дробных недель придется повозиться с первоначальной меткой, чтобы установить её со смещением.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования