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 :: datetime находится между указанного диапазона

 PHP.SU

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


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

> Без описания
Грачи прилетели
Отправлено: 14 Марта, 2019 - 09:39:35
Post Id



Гость


Покинул форум
Сообщений всего: 81
Дата рег-ции: Май 2015  


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




Добрый день!

Впал в ступор, не получается результат, прошу помощи

У меня есть три datetime

PHP:
скопировать код в буфер обмена
  1.  
  2. $date_now = new DateTime(date('Y-m-d H:i:s'));
  3. $date_start = new DateTime($day_start);
  4. $date_stop = new DateTime($day_start);
  5.  


Мне надо проверить, что $date_now находится между $date_start и $date_stop

Дата стоп - всегда следующий день 09:30
Время у Дата старт 18:30

Вот и проверяю, что текущее дата/время входит или нет в диапазон с 18:30 сегодня до 09:30 завтра

Я делал так
PHP:
скопировать код в буфер обмена
  1. ($date_now>= $date_start) AND ($date_now<= $date_stop)


но что-то не то мне кажется.... помогите, как эту проверку проще сделать...
 
 Top
armancho7777777 Супермодератор
Отправлено: 14 Марта, 2019 - 09:58:13
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


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




Включите вывод ошибок.
Вначале своего файла добавите:


А лучше, у себя на локальном, глобально их включить в php.ini.
display_errors = On
 
 Top
Грачи прилетели
Отправлено: 14 Марта, 2019 - 10:20:34
Post Id



Гость


Покинул форум
Сообщений всего: 81
Дата рег-ции: Май 2015  


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




PHP Version 5.6.30

вроде через new DateTime должно получаться сравнение, но как только перевел всё через strtotime , получилось, а с примерами выше нет. Не знаю в чём дело, ошибок не выводит.

Меня устраивает вариант сравнения через strtotime.

Спасибо!
 
 Top
Vladimir Kheifets
Отправлено: 14 Марта, 2019 - 13:54:27
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


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




Грачи прилетели пишет:
PHP Version 5.6.30

вроде через new DateTime должно получаться сравнение, но как только перевел всё через strtotime , получилось, а с примерами выше нет. Не знаю в чём дело, ошибок не выводит.

Меня устраивает вариант сравнения через strtotime.

Спасибо!

Добрый день!

DateTime это объект поэтому сравнение так не работает и выходит на фатальную ошибку.
Нужно добавить $date_start->getTimestamp() и.т.д.
Несколько вариантов с DateTime для определения $date_start и $date_stop
Дата стоп - всегда следующий день 09:30
Время у Дата старт 18:30
Спойлер (Отобразить)


Несколько вариантов c strtotime
Спойлер (Отобразить)
Удачи!

(Отредактировано автором: 15 Марта, 2019 - 09:10:17)

 
 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