2016-12-12 2 views
-1

Я дал два раза (время типа доктрины) и хочу проверить, если текущее время находится между этими моментами в цикле for-if. Я использую Date compare от ветки. Мой код выглядит следующим образом:Текущее время между двумя раз

{% for time in restaurant.openingHours if ((time.day == day) and (date(time.opening) <= date()) and (date(time.closing) >= date())) %} 
    <span class="restaurant_info green"></span> 
{% else %} 
    <span class="restaurant_info red"></span> 
{% endfor %} 

Последнее условие (date(time.closing) >= date()) является ложным, но закрыта быть правдой. У кого-нибудь есть идея исправить эту проблему?

+0

У вас есть ошибки ?? –

+0

Пожалуйста, разместите содержимое time.opening и time.closing и текущую дату(). – colburton

ответ

1

Для контроля над изменением кода я бы сменил ваш код и разделил оператор forloop и if. Чтобы проверить, что происходит неправильно, просто сбрасывайте переменные в ветке, как и следовало.

{%dump(time.opening)%} 
{%dump(time.closing)%} 
{%dump(date)%} 

    {% for time in restaurant.openingHours %} 
     {%if ((time.day == day) and (date(time.opening) <= date()) and (date(time.closing) >= date()))%} 
     <span class="restaurant_info green"></span> 
     {% else %} 
     <span class="restaurant_info red"></span> 
     {%endif%} 
    {% endfor %} 
Смежные вопросы