我有一个显示5天的while循环。第一天是当天,其他是下一天4.这是我的代码:
$datetime = new \DateTime();
$listItem = array('<li class="active">', '</li>');
$i = 0;
while (true) {
if ($i === 5) break;
if ($datetime->format('N') === '7' && $i === 0) {
$datetime->add(new \DateInterval('P1D'));
continue;
}
echo $listItem[0] . $datetime->format('D d-m') . $listItem[1];
$listItem = array('<li>', '</li>');
$datetime->add(new \DateInterval('P1D'));
$i++;
}
我的问题是,我希望当天能够处于中间位置。星期六应该是当天。你知道怎么做吗?
提前致谢。
答案 0 :(得分:1)
$datetime = new \DateTime();
$datetime->modify('-2 Day');
答案 1 :(得分:1)
你可以简单地从你的开始日减去2天。
$datetime = new \DateTime();
$datetime->sub(new \DateInterval('P2D'));
答案 2 :(得分:1)
请尝试以下代码:
$datetime = new \DateTime();
$listItem = array('<li">', '</li>');
$listItem_active = array('<li class="active">', '</li>');
$i = 0;
while (true) {
if ($i === 5) break;
if ($datetime->format('N') === '7' && $i === 0) {
$datetime->add(new \DateInterval('P1D'));
continue;
}
if($i===0){
$today = $datetime->format('D d-m');
}
if($i===3){
echo $listItem_active[0] . $today . $listItem_active[1];
}
if($i!=0){
echo $listItem[0] . $datetime->format('D d-m') . $listItem[1];
}
$listItem = array('<li>', '</li>');
$datetime->add(new \DateInterval('P1D'));
$i++;
}