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 :: Проверка даты в итервале

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
romanov
Отправлено: 19 Октября, 2014 - 20:01:12
Post Id


Гость


Покинул форум
Сообщений всего: 112
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)




Надо вывести сообщение с пн-чт 19 00-23 59 что магаз не работает
PHP:
скопировать код в буфер обмена
  1.  
  2. function check_interval( $hour1,$minute1,$second1,$day1,
  3.                                                          $hour2,$minute2,$second2,$day2,
  4.                                                          $week1,$week2 ){
  5.                 $range1 = mktime ($hour1,$minute1,$second1,date('n'),$day1);
  6.                 $range2 = mktime ($hour2,$minute2,$second2,date('n'),$day2);
  7.                
  8.                 $curr_week_start = date ('N',$range1);
  9.                 $curr_week_end = date ('N',$range2);
  10.                 //echo date('d.m.Y',$curr_week_start);
  11.                 $curr_time = time();
  12.                 //$curr_time = mktime ('08','30','00','10','6','2014');
  13.                 if ( $curr_week_start >= $week1 && $curr_week_end <= $week2 &&
  14.                         $curr_time >= $range1 && $curr_time <= $range2 ){
  15.                        
  16.                         return true;
  17.                 }                              
  18.                
  19.         }
  20.  


Проверка
PHP:
скопировать код в буфер обмена
  1.  if ( check_interval('19','00','00',date("j"),'23','59','59',date("j"),'1','4') ) {
  2.                
  3.                 $work_message .= "Специалист свяжется с Вами завтра ".date("d.m.Y",time()+86400)." с 9:00 до 10:00 по Москве ";
  4.                 $work = false;
  5.         }  


Вообще это корректная функция и как проверить что магаз не работает с пт-пн 19 00 - 9 00
 
 Top
kotyara1979
Отправлено: 20 Октября, 2014 - 03:39:26
Post Id


Частый гость


Покинул форум
Сообщений всего: 247
Дата рег-ции: Окт. 2012  


Помог: 7 раз(а)




Вот такой вариант.

PHP:
скопировать код в буфер обмена
  1. $now = time();
  2. $nwd = date('w',$now);
  3. $hour = date('G',$now);
  4.  
  5. if(($nwd>=1 and $nwd<=4) and $hour>=19)
  6. {
  7.         // вывод сообщения
  8. }

(Отредактировано автором: 20 Октября, 2014 - 03:46:38)



-----
Сделать можно все. Главное одеть каску.
 
 Top
romanov
Отправлено: 20 Октября, 2014 - 10:26:32
Post Id


Гость


Покинул форум
Сообщений всего: 112
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)




Спасибо за ответ, но этот скрипт работает с пн-чт с 19 ч, мне надо было с пт-пт с 19 - 9
 
 Top
kotyara1979
Отправлено: 20 Октября, 2014 - 11:40:33
Post Id


Частый гость


Покинул форум
Сообщений всего: 247
Дата рег-ции: Окт. 2012  


Помог: 7 раз(а)




Извините, здесь телепатов нет.

Как вы задачу описали, такое решение вам и предложили.
romanov пишет:
Надо вывести сообщение с пн-чт 19 00-23 59 что магаз не работает


Тем более адаптировать скрипт под ваше требование очень легко.


-----
Сделать можно все. Главное одеть каску.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB