Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Функция времени, помогите, мозг взрывается
также на входе время, например 20,00
где 20 - часы
00 - минуты
Требуется определить ближайший день и неделю из ближайше указанного времени и дня недели из всех указанных дней.
Например, если мы скормили функции понедельник,среда,воскресенье в 20:00, а сегодня четверг 21:43, то она должна вывести:
ближайшее событие в понедельник 20:00.
Также буду рад услышать любые комментарии. К работающим функциям не стесняйтесь указывать либерти кошелек, если таковой у вас имеется. СПАСИБО.
vanicon
Отправлено: 05 Августа, 2012 - 10:21:55
Частый посетитель
Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010 Откуда: Самара
Помог: 17 раз(а)
Если я правильно Вас понял, то думаю можно сделать так:
1. Сначала переводим даты, которые вы передаете, чтобы узнать самый ближайший к сегодняшнему дню, переводим в unix;
2. Находим разность между сегодняшней датой(также в unix - time) и датами переведенными в unix которые вы передали, где разность самая меньшая тот день и ближе к сегодняшнему дню.
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
alxfro пишет:
Например, если мы скормили функции понедельник,среда,воскресенье в 20:00, а сегодня четверг 21:43, то она должна вывести:
ближайшее событие в понедельник 20:00.
почему понедельник? получается воскресенье
alxfro
Отправлено: 06 Августа, 2012 - 12:40:11
Частый гость
Покинул форум
Сообщений всего: 208
Дата рег-ции: Июль 2011
Помог: 0 раз(а)
DlTA пишет:
почему понедельник? получается воскресенье
да, точно. но где же функция или хотя бы алгоритм (Добавление)
vanicon пишет:
Сначала переводим даты, которые вы передаете, чтобы узнать самый ближайший к сегодняшнему дню, переводим в unix;
даты? там не даты, там дни недели - понедельник...воскресенье... и время
требуется узнать ближайшую точку входа, если, сегодня, к примеру, пятница 16:00
Stierus
Отправлено: 06 Августа, 2012 - 13:08:13
Рекордсмен по количеству сообщений за 7 дней
Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008 Откуда: Москваль
Помог: 52 раз(а)
Цитата:
там не даты, там дни недели - понедельник...воскресенье... и время
понедельник вчера, понедельник через месяц и понедельник через год - разные понедельники, в любом случае сравнивать дату нужно с датой, вы хоть "сам выбери" передавайте - внутри функции оно будет к dateTime переводиться.
alxfro
Отправлено: 09 Августа, 2012 - 10:11:48
Частый гость
Покинул форум
Сообщений всего: 208
Дата рег-ции: Июль 2011
Вот что я имею ввиду - функция должна найти ближайшее событие, к примеру
function ищу_ближайшее_событие($arr,$time)
{
так.. сегодня у нас вторник.. но уже больше 18:00
значит
вернуть надо пятницу 18:00
}
Типа того. Заметьте никаких дат там нет.
EuGen
Отправлено: 09 Августа, 2012 - 11:10:02
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.