我想在第二天画出永久日历
$dt = new DateTime;
if (isset($_POST['annee']) && isset($_POST['semaine'])) {
$dt->setISODate($_POST['annee'], $_POST['semaine']);
} else {
$dt->setISODate($dt->format('o'), $dt->format('W'));
};
$annee= $dt->format('o');
$semaine= $dt->format('W');
$KlendrierPerpetuel="";
$KlendrierPerpetuel.='<table><tr>';
do {
$KlendrierPerpetuel.='<td>'.$dt->format('D').'</td>';
$dt->modify('+1 day');
} while ($semaine == $dt->format('W'));
$KlendrierPerpetuel.='</tr></table>';
echo $KlendrierPerpetuel;
它创建一周中的表格宽度而不是第二天的<7>
答案 0 :(得分:1)
嗯......它实际上要简单得多......
$format = "y/m/d";
$date_arr = [];
for($i = 0; $i < 6; $i ++){
if($i = 0)
$date_arr[] = date($format);
else
$date_arr[] = date($format, strtotime("+$i day");
}
strtotime
可以从字符串中解析日期,例如&#34; + 1天&#34;或者&#34; +1周&#34;,所以第二天很简单。所以你只需要循环这个过程并完成它。
PS:在您的初始帖子中,您似乎获得了一些帖子参数,您只需将它们放在if中的strtotime()
。
答案 1 :(得分:1)
您正在寻找的内容并不完全清楚,但我最好的猜测并添加了用户控件来实现它。您应该能够根据自己的需要进行修改:
<html>
<form method='post'>
<input type='numeric' name='year' value='<?= $_POST['year'] ?: date('Y') ?>'>
<input type='numeric' name='week' value='<?= $_POST['week'] ?: date('W') ?>'>
<input type='submit'>
</form>
<?php
$dt = new DateTime;
if (isset($_POST['year']) && isset($_POST['week'])) {
$dt->setISODate($_POST['year'], $_POST['week']);
} else {
$dt->setISODate($dt->format('o'), $dt->format('W'));
};
$year= $dt->format('o');
$week= $dt->format('W');
$KlendrierPerpetuel="";
$KlendrierPerpetuel.='<table><tr><td>'.$dt->format('M').'</td>';
do {
$KlendrierPerpetuel.='<td>'.$dt->format('d').'<br>'.$dt->format('D').'</td>';
$dt->modify('+1 day');
} while ($week == $dt->format('W'));
$KlendrierPerpetuel.='<td>'.$dt->format('M').'</td></tr></table>';
echo $KlendrierPerpetuel;
这允许用户指定年份和周数,并显示该周的日期。