1

ここで私が作ろうとしているものを見ることができますhttp://perthurbanist.com/website/calendarloader.php。基本的には水平カレンダーであり、矢印を使用して移動します。私がやりたいのは、コードにすべての月とすべての日(現在の月と日から開始)を水平に表示させることです。日付関数を使用して当日を取得する方法は知っていますが、その日付からカレンダーを開始する方法がわかりません。また、何ヶ月も(おそらく2〜3年の価値があります)ロードするようにしたいです。これらの2つのことをどのように行うのですか。

<?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>';
?>
4

1 に答える 1

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...

}

ループが繰り返されるたびに、は$timestamp1日進み、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>';
于 2012-09-23T09:09:14.837 に答える