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



1

5
大安
平成30年
20

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

先負
甲子
02
旧12月17日

仏滅
乙丑
03
旧12月18日

大安
丙寅
04
旧12月19日
立春
赤口
丁卯
05
旧12月20日

先勝
戊辰
06
旧12月21日

友引
己巳
07
旧12月22日

先負
庚午
08
旧12月23日

仏滅
辛未
09
旧12月24日

大安
壬申
10
旧12月25日

赤口
癸酉
11
旧12月26日

先勝
甲戌
建国記念の日
12
旧12月27日

友引
乙亥
振替休日
13
旧12月28日

先負
丙子
14
旧12月29日

仏滅
丁丑
15
旧12月30日

大安
戊寅
16
旧1月1日

先勝
己卯
17
旧1月2日

友引
庚辰
18
旧1月3日

先負
辛巳
19
旧1月4日
雨水
仏滅
壬午
20
旧1月5日

大安
癸未
21
旧1月6日

赤口
甲申
22
旧1月7日

先勝
乙酉
23
旧1月8日

友引
丙戌
24
旧1月9日

先負
丁亥
25
旧1月10日

仏滅
戊子
26
旧1月11日

大安
己丑
27
旧1月12日

赤口
庚寅
28
旧1月13日

先勝
辛卯
・ソース 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.