@WebforSelf

Как сделать интервалы времени условие Smarty или PHP?

Вопрос такого плана, нужно выводить текст в зависимости от интервалов времени.

В идеале конечно на смарти, ну или на php

Пошел сначала путем шаблонизатора

Интервалы
{$time_start_1 = '0:00'}   
  {$time_finish_1 = '9:59'} 

  {$time_start_2 = '10:00'}   
  {$time_finish_2 = '11:59'}

  {$time_start_3 = '12:00'}   
  {$time_finish_3 = '13:59'}

  {$time_start_4 = '14:00'}   
  {$time_finish_4 = '16:29'}

  {$time_start_5 = '16:30'}   
  {$time_finish_5 = '23:59'}


Условия по времени (диапазону) в какое время что показывать
{if $smarty.now|date_format:"%H:%M" >= $time_start_1 && $smarty.now|date_format:"%H:%M" <= $time_finish_1}
{$day_pvz = 'сегодня'}
{$time_pvz = 'до 12:00'}
{elseif $smarty.now|date_format:"%H:%M" >= $time_start_2 && $smarty.now|date_format:"%H:%M" <= $time_finish_2}
{$day_pvz = 'сегодня'}
{$time_pvz = 'до 14:00'}
{elseif $smarty.now|date_format:"%H:%M" >= $time_start_3 && $smarty.now|date_format:"%H:%M" <= $time_finish_3}
{$day_pvz = 'сегодня'}
{$time_pvz = 'до 16:30'}
{elseif $smarty.now|date_format:"%H:%M" >= $time_start_4 && $smarty.now|date_format:"%H:%M" <= $time_finish_4}
{$day_pvz = 'сегодня'}
{$time_pvz = 'до 18:00'}
{elseif $smarty.now|date_format:"%H:%M" >= $time_start_5 && $smarty.now|date_format:"%H:%M" <= $time_finish_5}
{$day_pvz = 'завтра'}
{$time_pvz = 'до 12:00'}
{/if}


Сейчас в итоге , 22:30 и должно выводиться "завтра до 12 00") а выводит первое условие "сегодня до 12 00.

Если можно обьяснить на PHP , буду благодарен ,т.к. принципиально на смарти не заострялся, просто удобно через шаблонизатор.
  • Вопрос задан
  • 201 просмотр
Решения вопроса 1
@WebforSelf Автор вопроса
Нашел проблему
не правильно обрабатывал 9:00 , нужно 09:00 , мы же строковые значения сравниваем
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы