はじめまして、新入社員です!
2013.06.11 Author: 田中さん
こんばんは
新入社員の田中さんです
とは言え4月1日入社なので2か月過ぎています。。。
時間が過ぎるのは早いですね。。。
本当かわかりませんが、人生の体感時間が折り返してしまったとしみじみ思う今日この頃です。
少々哀愁漂う感じになってしまいましたが、
これからよろしくお願いいたします。
さて、わたしは入社してPHPの課題なるものをやってきました!
今回はその中で学んだ技術的な事柄を紹介しようと思っていましたが、
如何せん自分には新しいことでも、技術的には既存で新規性があまりないと思われたので
便利だなと思ったものを紹介させていただきます!!
☆ date()関数が封じられた場合の曜日の求め方
・Zellerの公式を使う!!
以上です。
詳細は続きに記載してますので、気になった方はご覧ください。
それでは、どなたかコンパを開いて下さいと切実に願っている田中さんからでした。
Zellerの公式(ツェラーの公式)
西暦(グレゴリオ暦またはユリウス暦)の年・月・日から、その日が何曜日であるかを算出する公式
y 年 m 月 d 日の曜日を求める。
ただし、1月と2月は、前年のそれぞれ13月・14月として扱う。
また、紀元前1年・前2年・前3年は、0年・-1年・-2年となる。
曜日を表す h は式(1)で求められる。
h = (y + y / 4 - y / 100 + y / 400 + (13 * m + 8 ) / 5 + d) mod 7 ・・・・(1)
式(1)より、hは0~6で日~土を表す。
以上が、Zellerの公式となります。
導出方法はFairfield の公式を変形させ求めることができ、より詳しくは
下記を参照していただけると助かります。
http://ja.wikipedia.org/wiki/%E3%83%84%E3%82%A7%E3%83%A9%E3%83%BC%E3%81%AE%E5%85%AC%E5%BC%8F
また余談となりますが、忘れやすい(自分だけ)閏年判定のルールを記載します。
・yが4の倍数でないときは閏年としない
・yが4の倍数であり,かつ100の倍数でないときは閏年とする
・yが100の倍数であり,かつ400の倍数でないときは閏年としない
・yが400の倍数のときは閏年とする
以上となります。
今後、ブログを書く際には技術的なものを書いていこうと思いますので、
よろしくお願いいたします。