SSブログ

生まれた曜日を知りたいですか [HTML&JavaScript]

 ウインドウズパソコンをお使いなら、右下に時計がありますよね
(おそらく)。
そこをダブルクリックすると日付と時計のプロパティが現れます。
左側の日付で月のカレンダーがありますよね。
このカレンダーはどのようにして、曜日を表示しているのでしょうか?
何年も先まで、曜日データを保存してあるのでしょうか?
確かめていないので分かりませんが、普通は計算で求めているんだろうなということは想像に難くないですね。
あるいは、こちらはちょっと違うかもしれませんがいわゆるサヴァン症候群の方で瞬時に何年も先の日付の曜日を言える方がいらっしゃいますよね。
デジタル時計などの曜日、すなわち、いわゆる万年カレンダーの計算式は、ツェラーの公式と呼ばれています。
なんでツェラーと言うのとか、細かいことは分かりません。
ググったり、ヤフったりすれば、お分かりになると思います。
そこで、おそらくツェラーの公式の派生だと思うんですが、曜日の計算式を紹介しておきましょう。次のようなります。
[年+INT(年/4)-INT(年/100)+INT(年/400)
+INT{(13×月+8)/5+日}] mod 7
ここで、INT(X)というのはXの整数部分を取り出す、例えば、X=5.1とすると、INT(5.1)=5ということです。
また、A mod BというのはAをBで割った余りを求めることです。上の式ですと、7で割るので余りは0~6のどれかになりますね。
それで0を日曜日とすると、6が土曜日となり、必ずどの曜日かになります。

 それでは説明だけでは面白くないので、曜日を計算して遊んでみましょう!
よく思いつくのが今日とか、誕生日などが気になりますよね。
この計算には上で紹介した式とはほぼ変わりませんがちょっと違う、私が割り出した係数を使ってあります。
注意して頂きたい事が幾つかあります。
現在のグレゴリオ暦は1582年の終盤から始まっていますので、計算は1583年からになります。(手抜き?)
しかも、3000年もすれば、狂ってきますので西暦4桁までしか入力できません。
あと、アクティブスクリプトを有効にしないと動作しません。(悪さはしないので安心して下さい。)
そして、ポップアップで小さなウインドウが音と同時に現れますので、音量をあまり大きくしていると、五月蝿いかも知れません。
西暦(4桁)と日(2桁)は半角数字で入力してください。月はプルダウンメニューから選んでください。




共通テーマ:趣味・カルチャー

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。