日付に関する変数と関数をまとめてライブラリにしました。オリジナルのプログラミングですが、ありきたりなものですので、参考にされてもっといいのを作成してみて下さい。
http://neconote.jp/prg/date.js 末尾のリンクに、date.jsライブラリを使用した『カレンダー』の表示例のページを掲載しておきました。ご参考まで。
【date.jsライブラリの利用方法】
1.変数と関数
■日付変数
$week[n]
曜日配列。n=0~6
■元号の日付オブジェクト
$meiji1
明治元年1月1日[旧暦]
(1868年1月25日)
$meiji2
明治2年1月1日[旧暦]
(1869年2月11日)
$meiji3
明治3年1月1日[旧暦]
(1870年2月1日)
$meiji4
明治4年1月1日[旧暦]
(1871年2月19日)
$meiji5
明治5年1月1日[旧暦]
(1872年2月9日)
$meiji6
明治6年1月1日[太陽暦]
$taisho
明治45年7月30日
大正元年7月30日
$showa
大正15年12月25日
昭和元年12月25日
$heisei
平成元年1月8日
■日付関数
_true_date($year,$month,$date)
// 年月日の校正 //
・グローバル変数 $y,$m,$d,$w
_gengo($year,$month[,$date])
// 元号 //
・月単位
・グローバル変数 $gengo,$start_w,$days
・日単位
・グローバル変数 $gengo
・返り値 $gengo
_holiday($year,$month,$date)
// 祝日の判定 //
・グローバル変数 $holiday,$w
・返り値 true/false
■カレンダー表示の関数
_setup_calendar()
// カレンダーの初期設定 //
_calendar($year,$month)
// カレンダーの表示 //
_month_btn(n)
// 表示月の変更 //
・nは、月の増減値
2.カレンダーを表示する場合
(1) HTMLファイルの<body></body>内において、下記を参考に記述して下さい。
<body>
<div id="id_calendar"></div>
</body>
(2) HTMLファイルの<style></style>内と<script></script>内において、下記を参考に記述して下さい。
<head>
<style>
td {text-align:center;}
.sun {color:red;}
.sat {color:blue;}
.today {background:gold;}
</style>
<script src="date.js"></script>
<script>
window.onload = _setup_calendar;
</script>
</head>
P.S.
いい出来なので、PHP用に逆移植する予定です。
P.S.2 六曜カレンダーも、以前に作成したのですが、見つかりません。旧暦カレンダーを元に作成するのですが、誤っていると大変なことになりますね。結構難しかった覚えがあり、色々問題があるので、実用化に至りませんでした。
http://neconote.jp/prg/calendar.html