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



8

15
仏滅
令和2年
01

10
神無月
・ソース koyomiD.php
<?php
date_default_timezone_set('Asia/Tokyo');
$api = 'http://koyomi.zing2.org/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(mb_convert_encoding("<br>" . $date{'week'} ."<br>"."曜","cp932", "UTF-8")) ?>
		</td></tr>
		<tr><td width="15" style="line-height: 1em;aling:center;color: <?php echo($color) ?>; font-size: 10px;">
			<?php echo(mb_convert_encoding("旧<br>" .  $date{'kyurekim'}."<br>月<br>".$date{'kyurekid'} . "<br>日","cp932", "UTF-8")) ?>
		</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(mb_convert_encoding($date{'sekki'},"cp932", "UTF-8")) ?></td>
				<td width="5" style="line-height: 1em;color: <?php echo($color) ?>;"><?php echo(mb_convert_encoding($date{'rokuyou'},"cp932", "UTF-8")) ?></td>
				<td width="5" style="line-height: 1em;color: <?php echo($color) ?>;"><?php echo(mb_convert_encoding($date{'zyusi'} . "<br>" . $date{'zyunisi'},"cp932", "UTF-8")) ?></td>
			</tr>
			</tbody></table>
		</td></tr>
		</tbody></table>
	</td>
	<td>
		<table><tbody>
		<tr><td style="color: <?php echo($color) ?>;"><?php echo(mb_convert_encoding($date{'gengo'}.$date{'wareki'} ."年","cp932", "UTF-8")) ?></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(mb_convert_encoding( $date{'holiday'},"cp932", "UTF-8")) ?></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(mb_convert_encoding("<br>" .date("m")."<br>月","cp932", "UTF-8")) ?></td></tr>
		<tr><td width="12" style="line-height: 1em;color: <?php echo($color) ?>; font-size: 10px;"><?php echo(mb_convert_encoding( $date{'inreki'},"cp932", "UTF-8")) ?></td></tr>
		</tbody></table>
	</td></tr>
</tbody></table>
				
2: 月めくりのカレンダーにしてみました。
10月
01
旧8月15日

仏滅
丁丑
02
旧8月16日

大安
戊寅
03
旧8月17日

赤口
己卯
04
旧8月18日

先勝
庚辰
05
旧8月19日

友引
辛巳
06
旧8月20日

先負
壬午
07
旧8月21日

仏滅
癸未
08
旧8月22日
寒露
大安
甲申
09
旧8月23日

赤口
乙酉
10
旧8月24日

先勝
丙戌
11
旧8月25日

友引
丁亥
12
旧8月26日

先負
戊子
13
旧8月27日

仏滅
己丑
14
旧8月28日

大安
庚寅
15
旧8月29日

赤口
辛卯
16
旧8月30日

先勝
壬辰
17
旧9月1日

先負
癸巳
18
旧9月2日

仏滅
甲午
19
旧9月3日

大安
乙未
20
旧9月4日

赤口
丙申
21
旧9月5日

先勝
丁酉
22
旧9月6日

友引
戊戌
23
旧9月7日
霜降
先負
己亥
24
旧9月8日

仏滅
庚子
25
旧9月9日

大安
辛丑
26
旧9月10日

赤口
壬寅
27
旧9月11日

先勝
癸卯
28
旧9月12日

友引
甲辰
29
旧9月13日

先負
乙巳
30
旧9月14日

仏滅
丙午
31
旧9月15日

大安
丁未
・ソース koyomiM.php
<?php
date_default_timezone_set('Asia/Tokyo');
$api = 'http://koyomi.zing2.org/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(mb_convert_encoding("月","cp932", "UTF-8")) ?></td>
		<td style="border: 1px solid gray;font-size: 10px;color: #000000;"><?php echo(mb_convert_encoding("火","cp932", "UTF-8")) ?></td>
		<td style="border: 1px solid gray;font-size: 10px;color: #000000;"><?php echo(mb_convert_encoding("水","cp932", "UTF-8")) ?></td>
		<td style="border: 1px solid gray;font-size: 10px;color: #000000;"><?php echo(mb_convert_encoding("木","cp932", "UTF-8")) ?></td>
		<td style="border: 1px solid gray;font-size: 10px;color: #000000;"><?php echo(mb_convert_encoding("金","cp932", "UTF-8")) ?></td>
		<td style="border: 1px solid gray;font-size: 10px;color: #0000CC;background-color:#ccffff;"><?php echo(mb_convert_encoding("土","cp932", "UTF-8")) ?></td>
		<td style="border: 1px solid gray;font-size: 10px;color: #FF0000;background-color:#ffeeff;"><?php echo(mb_convert_encoding("日","cp932", "UTF-8")) ?></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(mb_convert_encoding("旧" .  $date{'kyurekim'}."月".$date{'kyurekid'} . "日","cp932", "UTF-8")) ?></span><br>
				<?php echo(mb_convert_encoding($date{'sekki'},"cp932", "UTF-8")) ?><br>
				<?php echo(mb_convert_encoding($date{'rokuyou'},"cp932", "UTF-8")) ?><br>
				<?php echo(mb_convert_encoding($date{'zyusi'} . "" . $date{'zyunisi'},"cp932", "UTF-8")) ?><br>
				<?php echo(mb_convert_encoding( $date{'holiday'},"cp932", "UTF-8")) ?>
			</td>
		<?php
			if($cell === 7){
				$cell = 1;
		?>
			</tr>
		<?php
		 }else{
			++$cell;
		 }
		 ?>
	<?php } ?>

</tbody></table>
				

  Copyright 2015 All rights reserved.