PHPで年月毎カレンダーリンクを作る

システムを作っていたら
[2019年3月][2019年4月][2019年5月]...
というように、年月毎にリンクを作りたいときあるじゃないですか。
イチイチ作ってられない。
プログラムで作ればいいのですよ。

書き方

当日の月まで作っているけど
延々と作り続けられるのも重たくなって困るので、限界値を作っている。
延々作りたい場合は『_count』が付く項目を消してください。

$year = 2018; // スタート年
$month = 4; // スタート月
$limit_count = 100; // 最大回数
$i_count = 1;
while(date('Y-n',strtotime("+1 month")) !== $year.'-'.$month){
    $timestamp = mktime(0, 0, 0, $month, 1, $year);
    echo '<a href="#'.$year.'-'.$month.'">'.$year.'年'.$month.'月</a>';
    $next = strtotime("+1 month ".date('Y-m-1 01:00:00',$timestamp));
    $year = date('Y',$next);
    $month = date('n',$next);
    $i_count++; if($i_count>$limit_count){break;}  // 回数判定
}

作成制御が最大年月ではなく、最大回数になっているのは、作成の過程で日付より回数の方が、チェックが楽だったからです!

結果

コメント

タイトルとURLをコピーしました