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



2

25
友引
平成29年
23

03
弥生
・ソース 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: 月めくりのカレンダーにしてみました。
03月
01
旧2月3日

仏滅
丁亥
02
旧2月4日

大安
戊子
03
旧2月5日

赤口
己丑
04
旧2月6日

先勝
庚寅
05
旧2月7日
啓蟄
友引
辛卯
06
旧2月8日

先負
壬辰
07
旧2月9日

仏滅
癸巳
08
旧2月10日

大安
甲午
09
旧2月11日

赤口
乙未
10
旧2月12日

先勝
丙申
11
旧2月13日

友引
丁酉
12
旧2月14日

先負
戊戌
13
旧2月15日

仏滅
己亥
14
旧2月16日

大安
庚子
15
旧2月17日

赤口
辛丑
16
旧2月18日

先勝
壬寅
17
旧2月19日

友引
癸卯
18
旧2月20日

先負
甲辰
19
旧2月21日

仏滅
乙巳
20
旧2月22日
春分
大安
丙午
春分の日
21
旧2月23日

赤口
丁未
22
旧2月24日

先勝
戊申
23
旧2月25日

友引
己酉
24
旧2月26日

先負
庚戌
25
旧2月27日

仏滅
辛亥
26
旧2月28日

大安
壬子
27
旧2月29日

赤口
癸丑
28
旧3月1日

先負
甲寅
29
旧3月2日

仏滅
乙卯
30
旧3月3日

大安
丙辰
31
旧3月4日

赤口
丁巳
・ソース 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.