<?php foreach($get_break as $break ) : ?>
<?php if($current_time >= $break['break_start'] && $current_time <= $break['break_end']) { ?>
<ul class="simple-user-list">
<li>
<figure class="image rounded">
<img src="assets/images/!sample-user.jpg" alt="Joseph Doe Junior" class="img-circle">
</figure>
<span class="title">i'm still exists</span>
<span class="message truncate">Lorem ipsum dolor sit.</span>
</li>
</ul>
<?php } elseif($break['break_type'] == "Additional break") { ?>
<ul class="simple-user-list">
<li>
<figure class="image rounded">
<img src="assets/images/!sample-user.jpg" alt="Joseph Doe Junior" class="img-circle">
</figure>
<span class="title">i'm not exists</span>
<span class="message truncate">Lorem ipsum dolor sit.</span>
</li>
</ul>
<?php } ?>
<?php endforeach ?>
我想根据时间显示休息时间。 我打破了包含各种中断类型的主表,包括中断开始时间和中断结束时间。 根据当前时间,我想显示休息时间。 在这里,我使用foreach从break表中获取数据 并使用if检查条件。检查休息时间。 对于当前时间,应显示特定中断。 问题是,这里如果条件显示当前,在else部分中,即使if条件为真,它也会显示附加中断。 我该怎么办?如果当前时间不存在当前中断,则显示唯一中断。它会显示额外的休息时间。
答案 0 :(得分:1)
你不能用日期字符串做数学。使用strtotime()
函数对日期进行数学运算。
详细了解here
所以你得到这样的东西:
if(strtotime($current_time) >= strtotime($break['break_start']) && strtotime($current_time) <= strtotime($break['break_end'])) {
//dothis
}
strtotime - 将任何英文文本日期时间描述解析为Unix时间戳
因此,如果您的日期设置不像英语方式(2016年12月11日),请使用date()
将其转换为合适的日期字符串。