日めくりカレンダー

カレンダー2019

企業や商店からのカレンダーの配布が師走に突入したころに始まります。高度成長の時には扱いに困るほど集まりましたが、今は適度に入手できています。

かつて金満の病院にかかったときに、航空会社発行の畳サイズに近いカレンダーが飾られていたときは驚きました。

日付を表すには西暦と和暦が混合利用されますが、今年のカレンダーには元号の変更があるので西暦が主流になっています。

日常生活で六曜(先勝、友引、先負、仏滅、大安、赤口)を行動規範に利用することはめっきり減りましたが、冠婚葬祭では根強く利用されています。

六曜を算出する

日めくりカレンダーを自作するにあたり、公開されている六曜計算式を調査しました。

旧暦の日付がわかれば六曜が確定します。

算出式はちょっとした分量になるので、カレンダーに載せることは見送りました。

日めくりカレンダーを作る

カレンダーをコンピュータで表現することは効果的です。日替わりは00:00:00に起きますが、このたびウィジェット欄に作ったカレンダーはページがロードされるときにめくられます。

実生活では朝に起きて身支度を終えた後にカレンダーを日めくりすることが多いので実体に近いと言えます。

深夜に仕事をする方は、コンピュータ資源を多く使いますが、シンプル版を拡張することをお薦めします。

日めくりカレンダーの仕様

日めくりカレンダーの配布は非常に稀です。年月日と曜日に加え元日からの通算日を入れました。

以前に「今日という日」で通算日の利用法を語りました。6日おきに機械に油を注すとき、通算日が役に立ちます。

5日ごとに繰り返す作業は通算日を5で割った余りを利用することができます。五十日(ごとおび)では2月や3月ではかなりの誤差が出ます。

夫婦間で厳密に役割分担する約束を守るに当たり、通算日が奇数、偶数で役割を決めておけば分担を2分割することが可能になります。

元日の値を0にするか1にするか2通りありますが、通算日を間隔の値で割って余りを求める場合は0を初期値にすると便利です。ここではこの方式を採用しています。

カレンダーのソースコード


<div style="margin-top: -8px; padding-left: 10px; width: 110px; height: 130px; font-weight: bold; border: 1px navy solid;">
<div id="ym" style="width: 120px; height: 20px; font-size: 16px; border: 0px red solid;"></div>
<div id="dy" style="width: 100px; height: 60px; font-size: 40px; text-align: center; vertical-align: middle; display: table-cell;"></div>
<div id="s6" style="width: 120px; height: 40px; font-size: 14px; border: 0px blue solid;"></div>
</div>
<script src="https://aidesign.lolipop.jp/wp-content/uploads/2017/11/DevelopingTools2.js" charset="UTF-8"></script>
<script type="text/javascript" charset="Shift_JIS">
var now, year, mon, day, you;
var youbi = ["日","月","火","水","木","金","土"];								//曜日の選択肢
	month = [0, 31, 59, 90, 120, 151, 181, 212, 243, 274, 304, 334];			//通算日算出表
	now = new Date(/*"2019-03-01"*/);											//日付と時間の設定
	year = now.getYear();														//1900年からの経過年数
	mon = now.getMonth();														//今日の月(0~11)
	day = now.getDate();														//今日の日
	you = now.getDay();															//今日の曜日
	if ((year%4 == 0 && year%100 != 0) || (year%400 == 0)){						//グレゴリオ暦のうるう年か
		for(var j=2; j<12; ++j)	month[j]++;										//うるう年だから通算日算出表を修正
	}
	//console.log("YEAR", year, mon, day, you, youbi[you]);
	var ym = (1900+year)+"年"+('0'+(mon+1)).slice(-2)+"月";
	var s6 = youbi[you]+"曜日"+"&nbsp;"+"&nbsp;<span style='color:red;'>"+(month[mon]+day-1)+"</span>";
	//console.log("VIEW_CAL=", ym, day, s6, mon, day, you);
	document.getElementById("ym").innerHTML = ym;								//年月
	document.getElementById("dy").innerHTML = day;								//日
	document.getElementById("s6").innerHTML = s6+"<BR>
<span style='color:darkmagenta;'>"+BrowsN[getBrowser()]+"</span>";	//ブラウザの表示
</script>

 

 

コメントを残す

下記項目は必須ですがメールアドレスは公開されません。名前はニックネームをお使いください。

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください