PHPで土日祝の一覧を出す方法


PHPで土日祝の一覧を設定するプログラムを作成したので自分用にメモです。

最後にコードを載せています。ご参考にどうぞ。

IT/WEB業界への転職なら求人サイトGreen

祝日取得用class

こちらを参考にいたしました。

祝日を自動判定するDateTime拡張クラス
http://qiita.com/chiyoyo/items/539dc2840a1b70a8e2c3

以下のようにすると、祝日かどうか判定してくれます。

$holiday_datetime = new HolidayDateTime("2016-01-02");
$holiday_datetime->holiday();

実装コード

コピペだけで使用できるようになっています。
不明点あればコメントで質問ください。


$weekday = array(
	"日",
	"月",
	"火",
	"水",
	"木",
	"金",
	"土"
);

// 2016年から3年分取得

for ($now_year = 2016; $now_year <= 2018; $now_year++)
	{
	for ($now_month = 1; $now_month <= 12; $now_month++)
		{
		$countdate = date('t', strtotime("{$now_year}/{$now_month}/1"));
		for ($day = 1; $day <= $countdate; $day++)
			{ //今月の日数分ループする
			$w = date("w", mktime(0, 0, 0, $now_month, $day, $now_year));
			$month = sprintf('%02d', $now_month);
			$day = sprintf('%02d', $day);
			$datetime = new HolidayDateTime("{$now_year}-{$month}-{$day}");
			$holiday = $datetime->holiday();
			if ($holiday)
				{
				echo "'{$now_year}-{$month}-{$day}', //{$holiday}\n";
				}
			  else
				{
				switch ($w)
					{
				case 0: //日曜日
				case 6: //土曜日
					echo "'{$now_year}-{$month}-{$day}', //{$weekday[$w]}\n";
					break;

				default:
					break;
					}
				}
			}
		}
	}

出力結果

このように出力されます。
配列などにそのままお使いください。

'2016-01-11', //成人の日
'2016-01-16', //土
'2016-01-17', //日
'2016-01-23', //土
'2016-01-24', //日
'2016-01-30', //土
'2016-01-31', //日
'2016-02-06', //土
'2016-02-07', //日
'2016-02-11', //建国記念の日

以上、PHPで土日祝の一覧を出す方法でした。

 

この記事が気に入ったら
いいね!しよう

最新情報をお届けします

follow us in feedly