你可以在这里看到我想要做的事情http://perthurbanist.com/website/calendarloader.php。基本上它是一个水平日历,你将使用箭头移动。我想要做的是让代码水平显示所有日期以及所有日期(从当前月份和日期开始)。我知道如何使用日期功能获取当天的日期,但我不知道如何在该日期开始日历。我也想要它加载很多个月(可能是2 - 3年)。我该怎么做这两件事。
<?php
$showday = date("j");
$displaymonth = date("M");
$showmonth = date("n");
$showyear = date("Y");
$day_count = cal_days_in_month(CAL_GREGORIAN, $showmonth, $showyear);
echo '<ul class="calendarnavigation">';
echo '<li class="month">' . $displaymonth . '</li>';
for($i=1; $i<= $day_count; $i++) {
echo '<li>' . $i . '</li>';
}
echo '</div>';
?>
答案 0 :(得分:1)
如果你知道(或者能够计算你想要走多远的日子,你可以试试这个:
for($i=0; $i<$numberOfDays; $i++)
{
$timestamp=mktime(0,0,0,date("m"),date("d")+$i,date("Y"));
$day=date("d", $timestamp);
$month=date("m", $timestamp);
$year=date("Y", $timestamp);
...Your display stuff here...
}
在循环的每次迭代中,$timestamp
将提前一天,并在date
函数中使用它将为您提供有关创建显示所需日期的信息。
也许在你的情况下你可以使用
echo '<ul class="calendarnavigation">';
for($i=0; $i<$numberOfDays; $i++)
{
$timestamp=mktime(0,0,0,date("m"),date("d")+$i,date("Y"));
$showday=date("j", $timestamp);
$displaymonth=date("M", $timestamp);
$showmonth=date("n", $timestamp);
$showyear=date("Y", $timestamp);
if($showday=="1")
{
echo '<li>'.$displaymonth.'</li>';
}
echo '<li>'.$showday.'</li>';
}
echo '</ul>';