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



12

16
先負
令和8年
03

02
如月
・ソース 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>
		<tr><td style="color: <?php echo($color) ?>;">
			<?php if($date['hitotubuflg'] == "true"){echo("一粒万倍日<br>");}?>
			<?php if($date['tensyabiflg'] == "true"){echo("天赦日<br>");}?>
			<?php if($date['daimyoubiflg'] == "true"){echo("大明日<br>");}?>
		</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: 月めくりのカレンダーにしてみました。
02月
01
旧12月14日

先勝
丙午


大明日
02
旧12月15日

友引
丁未


大明日
03
旧12月16日

先負
戊申


04
旧12月17日
立春
仏滅
己酉


大明日
05
旧12月18日

大安
庚戌


大明日
06
旧12月19日

赤口
辛亥


大明日
07
旧12月20日

先勝
壬子


08
旧12月21日

友引
癸丑


一粒万倍日
09
旧12月22日

先負
甲寅


10
旧12月23日

仏滅
乙卯


11
旧12月24日

大安
丙辰
建国記念の日

大明日
12
旧12月25日

赤口
丁巳


13
旧12月26日

先勝
戊午


一粒万倍日
大明日
14
旧12月27日

友引
己未


大明日
15
旧12月28日

先負
庚申


大明日
16
旧12月29日

仏滅
辛酉


大明日
17
旧1月1日

先勝
壬戌


18
旧1月2日

友引
癸亥


19
旧1月3日
雨水
先負
甲子


20
旧1月4日

仏滅
乙丑


一粒万倍日
21
旧1月5日

大安
丙寅


22
旧1月6日

赤口
丁卯


23
旧1月7日

先勝
戊辰
天皇誕生日

24
旧1月8日

友引
己巳


大明日
25
旧1月9日

先負
庚午


一粒万倍日
大明日
26
旧1月10日

仏滅
辛未


大明日
27
旧1月11日

大安
壬申


大明日
28
旧1月12日

赤口
癸酉


大明日
・ソース 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 width="100" style="border: 1px solid gray;font-size: 10px;color: #000000;"><?php echo("月") ?></td>
		<td width="100" style="border: 1px solid gray;font-size: 10px;color: #000000;"><?php echo("火") ?></td>
		<td width="100" style="border: 1px solid gray;font-size: 10px;color: #000000;"><?php echo("水") ?></td>
		<td width="100" style="border: 1px solid gray;font-size: 10px;color: #000000;"><?php echo("木") ?></td>
		<td width="100" style="border: 1px solid gray;font-size: 10px;color: #000000;"><?php echo("金") ?></td>
		<td width="100" style="border: 1px solid gray;font-size: 10px;color: #0000CC;background-color:#ccffff;"><?php echo("土") ?></td>
		<td width="100" 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"  ))){

			if(isset($data['datelist'][$i])){
				$date = $data['datelist'][$i];
				if($date['week'] === "日"){
					$color="#FF0000";
				}
				else if($date['week'] === "土"){
					$color="#0000CC";
				}
				else if($date['holiday'] !== ""){
					$color="#FF0000";
				}
				else{
					$color="#000000";
				}
			}
			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: 12px;"><?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']) . "<br>"?><br>
				<span style="color: #FF0000"><?php if($date['hitotubuflg'] == "true"){echo("一粒万倍日<br>");}?></span>
				<span style="color: #FF0000"><?php if($date['tensyabiflg'] == "true"){echo("天赦日<br>");}?></span>
				<span style="color: #FF0000"><?php if($date['daimyoubiflg'] == "true"){echo("大明日<br>");}?></span>
		<?php
			if($cell === 7){
				$cell = 1;
		?>
			</tr>
		<?php
		 }else{
			++$cell;
		 }
		 ?>
	<?php } ?>

</tbody></table>
				

  Copyright 2015 All rights reserved.