スポンサードリンク

PHP
PHP

カレンダーではないのですが、

ある期間からある期間までの日付を

表示させたいという事があったので

表示させてみました。

スポンサードリンク

○○○○年○○月○○日~××××年××月××日の表示

forループを使って表示させればいいみたいです。

(例)2013年10月25日~2013年11月7日

$start = strtotime('2013-10-25 00:00:00');
$end = strtotime('2013-11-08 00:00:00');

// 1日の秒数
$sec = 60 * 60 * 24;// 60秒 × 60分 × 24時間
// 日付取得
$key = 0;
//曜日を表示
$week = array("日", "月", "火", "水", "木", "金", "土");
for ($i = $start ; $i <= $end ; $i += $sec) {
    $dates[$key]['date'] = date("Y年m月d日", $i);
    $w = date("w", $i);
    $dates[$key]['week'] = $week[$w];
    $key ++;
}

foreach($dates as $date){
    echo $date['date'] . "(" . $date['week'] . ")<br>";
}

(結果)
2013年10月25日(金)
2013年10月26日(土)
2013年10月27日(日)
2013年10月27日(日)
2013年10月28日(月)
2013年10月29日(火)
2013年10月30日(水)
2013年10月31日(木)
2013年11月01日(金)
2013年11月02日(土)
2013年11月03日(日)
2013年11月04日(月)
2013年11月05日(火)
2013年11月06日(水)
2013年11月07日(木)

指定期間の最後(変数end)に気を付ければ問題ないかと

2013-10-08 00:00:00としていますが、

2013-10-07 23:59:59でも問題ないと思います。

(参考)
指定した期間の日付生成

スポンサードリンク