旧暦、六曜を取得できるAPIを無料で提供しています。
■ 暦APIを使用したサンプルを2例ご紹介いたします。
1: 日めくりのカレンダーにしてみました。



3

22
赤口
令和6年
30

04
卯月
・ソース koyomiD.php
<?php
date_default_timezone_set('Asia/Tokyo');
$api = 'https://koyomi.zingsystem.com/api/';
 $param = array(
 	 'mode' => "d"
 	,'cnt'  => "1"
 	,'targetyyyy' => date("Y")
 	,'targetmm' => date("m")
 	,'targetdd' => date("d")
);
$ch = curl_init($api);

## パラメータを設定
curl_setopt($ch, CURLOPT_URL, $api);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, TRUE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($param));

## 結果を取得
$result = curl_exec($ch);
## コネクション切断
curl_close($ch);

## 連想配列にデコード
$data = json_decode($result, true);
## データ取得
$date = $data['datelist'][date("Y-m-d")];
## 曜日から文字色決定
if($date['week'] === "日"){
	$color="#FF0000";
}
else if($date['week'] === "土"){
	$color="#0000CC";
}
else if($date['holiday'] !== ""){
	$color="#FF0000";
}
else{
	$color="#000000";
}
?>
<table style="border: 1px #666666 solid; border-collapse:collapse; font-color: #111111;"><tbody>
	<tr><td colspan="3" height="10" style="background-color:#666666"></td></tr>
	<tr><td>
		<table><tbody>
		<tr><td width="15"  style="line-height: 1em; aling:center; font-size: 20px;color: <?php echo($color) ?>;">
			<?php echo("<br>" . $date['week'] ."<br>"."曜") ?>
		</td></tr>
		<tr><td width="15" style="line-height: 1em;aling:center;color: <?php echo($color) ?>; font-size: 10px;">
			<?php echo("旧<br>" .  $date['kyurekim']."<br>月<br>".$date['kyurekid'] . "<br>日") ?>
		</td></tr>
		<tr><td width="15" style="aling:center">
			<table><tbody>
			<tr>
				<td width="5" style="line-height: 1em;color: <?php echo($color) ?>;"><?php echo($date['sekki']) ?></td>
				<td width="5" style="line-height: 1em;color: <?php echo($color) ?>;"><?php echo($date['rokuyou']) ?></td>
				<td width="5" style="line-height: 1em;color: <?php echo($color) ?>;"><?php echo($date['zyusi'] . "<br>" . $date['zyunisi']) ?></td>
			</tr>
			</tbody></table>
		</td></tr>
		</tbody></table>
	</td>
	<td>
		<table><tbody>
		<tr><td style="color: <?php echo($color) ?>;"><?php echo($date['gengo'].$date['wareki'] ."年") ?></td></tr>
		<tr><td style="font-size: 60px;color: <?php echo($color) ?>;"><?php echo(date("d")) ?></td></tr>
		<tr><td style="color: <?php echo($color) ?>;"><?php echo($date['holiday']) ?></td></tr>
		</tbody></table>
	</td>
	<td>
		<table><tbody>
		<tr><td width="15" style="line-height: 1em;color: <?php echo($color) ?>; font-size: 10px;"><?php echo("<br>" .date("m")."<br>月") ?></td></tr>
		<tr><td width="12" style="line-height: 1em;color: <?php echo($color) ?>; font-size: 10px;"><?php echo($date['inreki']) ?></td></tr>
		</tbody></table>
	</td></tr>
</tbody></table>
				
2: 月めくりのカレンダーにしてみました。
04月
01
旧2月23日

赤口
乙未
02
旧2月24日

先勝
丙申
03
旧2月25日

友引
丁酉
04
旧2月26日
清明
先負
戊戌
05
旧2月27日

仏滅
己亥
06
旧2月28日

大安
庚子
07
旧2月29日

赤口
辛丑
08
旧2月30日

先勝
壬寅
09
旧3月1日

先負
癸卯
10
旧3月2日

仏滅
甲辰
11
旧3月3日

大安
乙巳
12
旧3月4日

赤口
丙午
13
旧3月5日

先勝
丁未
14
旧3月6日

友引
戊申
15
旧3月7日

先負
己酉
16
旧3月8日

仏滅
庚戌
17
旧3月9日

大安
辛亥
18
旧3月10日

赤口
壬子
19
旧3月11日
穀雨
先勝
癸丑
20
旧3月12日

友引
甲寅
21
旧3月13日

先負
乙卯
22
旧3月14日

仏滅
丙辰
23
旧3月15日

大安
丁巳
24
旧3月16日

赤口
戊午
25
旧3月17日

先勝
己未
26
旧3月18日

友引
庚申
27
旧3月19日

先負
辛酉
28
旧3月20日

仏滅
壬戌
29
旧3月21日

大安
癸亥
昭和の日
30
旧3月22日

赤口
甲子
・ソース koyomiM.php
<?php
date_default_timezone_set('Asia/Tokyo');
$api = 'https://koyomi.zingsystem.com/api/';
 $param = array(
 	 'mode' => "m"
 	,'cnt'  => "1"
 	,'targetyyyy' => date("Y")
 	,'targetmm' => date("m")
 	,'targetdd' => date("d")
);
$ch = curl_init($api);

## パラメータを設定
curl_setopt($ch, CURLOPT_URL, $api);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, TRUE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($param));
## 結果を取得
$result = curl_exec($ch);
## コネクション切断
curl_close($ch);

## 連想配列にデコード
$data = json_decode($result, true);

## 月初日
$starttimestamp_date = date("Y") . "-" . date("m") . "-01";
## 翌月初日
$stoptimestamp_date = date("Y-m-d", strtotime($starttimestamp_date . " 1 month"  ));
$w = date( 'w',strtotime( $starttimestamp_date ));
## 月曜はじまりの場合
if( $w === "0"){
	$w = 7;
}
## 日曜はじまりの場合
#$w = $w + 1;

$cell = 0;
?>
<table style="border: 1px #666666 solid; border-collapse:collapse; font-color: #111111;"><tbody>
	<tr>
		<td style="border: 1px solid gray;font-size: 10px;color: #000000;"><?php echo("月") ?></td>
		<td style="border: 1px solid gray;font-size: 10px;color: #000000;"><?php echo("火") ?></td>
		<td style="border: 1px solid gray;font-size: 10px;color: #000000;"><?php echo("水") ?></td>
		<td style="border: 1px solid gray;font-size: 10px;color: #000000;"><?php echo("木") ?></td>
		<td style="border: 1px solid gray;font-size: 10px;color: #000000;"><?php echo("金") ?></td>
		<td style="border: 1px solid gray;font-size: 10px;color: #0000CC;background-color:#ccffff;"><?php echo("土") ?></td>
		<td style="border: 1px solid gray;font-size: 10px;color: #FF0000;background-color:#ffeeff;"><?php echo("日") ?></td>
	</tr>
	<tr>
	<?php
		## カレンダー最初の空白部分
		for($i =1;$i < $w;$i++){
	?>
		<td style="border: 1px solid gray;"></td>
	<?php } ?>
	<?php
		## 日付部分
		for($i =$starttimestamp_date;$i < $stoptimestamp_date;$i=date("Y-m-d", strtotime($i . " 1 day"  ))){
			$date = $data['datelist'][$i];
			if($date['week'] === "日"){
				$color="#FF0000";
			}
			else if($date['week'] === "土"){
				$color="#0000CC";
			}
			else if($date['holiday'] !== ""){
				$color="#FF0000";
			}
			else{
				$color="#000000";
			}
	?>
		<?php
			if($cell === 0){
				$cell = $w;
			}elseif($cell === 1){
		?>
		<tr>
		<?php }?>
			<td style="border: 1px solid gray;color: <?php echo($color) ?>;">
				<span style="font-size: 20px;"><?php echo(date("d", strtotime($i))) ?></span><br>
				<span style="font-size: 8px;"><?php echo("旧" .  $date['kyurekim']."月".$date['kyurekid'] . "日") ?></span><br>
				<?php echo($date['sekki']) ?><br>
				<?php echo($date['rokuyou']) ?><br>
				<?php echo($date['zyusi'] . "" . $date['zyunisi']) ?><br>
				<?php echo( $date['holiday']) ?>
			</td>
		<?php
			if($cell === 7){
				$cell = 1;
		?>
			</tr>
		<?php
		 }else{
			++$cell;
		 }
		 ?>
	<?php } ?>

</tbody></table>
				

  Copyright 2015 All rights reserved.