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



10

23
友引
令和7年
12

12
師走
・ソース 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: 月めくりのカレンダーにしてみました。
12月
01
旧10月12日

先負
甲辰


大明日
02
旧10月13日

仏滅
乙巳


大明日
03
旧10月14日

大安
丙午


大明日
04
旧10月15日

赤口
丁未


大明日
05
旧10月16日

先勝
戊申


06
旧10月17日

友引
己酉


一粒万倍日
大明日
07
旧10月18日
大雪
先負
庚戌


大明日
08
旧10月19日

仏滅
辛亥


一粒万倍日
大明日
09
旧10月20日

大安
壬子


一粒万倍日
10
旧10月21日

赤口
癸丑


11
旧10月22日

先勝
甲寅


12
旧10月23日

友引
乙卯


13
旧10月24日

先負
丙辰


大明日
14
旧10月25日

仏滅
丁巳


15
旧10月26日

大安
戊午


大明日
16
旧10月27日

赤口
己未


大明日
17
旧10月28日

先勝
庚申


大明日
18
旧10月29日

友引
辛酉


大明日
19
旧10月30日

先負
壬戌


20
旧11月1日

大安
癸亥


一粒万倍日
21
旧11月2日
冬至
赤口
甲子


一粒万倍日
天赦日
22
旧11月3日

先勝
乙丑


23
旧11月4日

友引
丙寅


24
旧11月5日

先負
丁卯


25
旧11月6日

仏滅
戊辰


26
旧11月7日

大安
己巳


大明日
27
旧11月8日

赤口
庚午


大明日
28
旧11月9日

先勝
辛未


大明日
29
旧11月10日

友引
壬申


大明日
30
旧11月11日

先負
癸酉


大明日
31
旧11月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.