霧島マナの日記 鋼鉄のガールフレンド

ケータイはこちら | サイトマップ | 中文 | English

メモ


春分・秋分の日の求め方
トップページのマナのセリフはロードするたびに変わります。こういうのは SSI でやると簡単なのですが、当サイトはプロバイダの無料スペースに置いている都合上 SSI は使えません(泣)。ですから JavaScript を使っているのですが、セリフを増やしすぎると重くなってしまうのが難点です……。{:rn:}
それはさておき、気がつかれた方もおられるかも知れませんが、祝祭日には「今日は○○の日~」と言ったりします。この機能(?)を搭載するのにちょっとだけ苦労がありました。{:rn:}
何かといいますと、「春分・秋分の日」です。この二つだけは「何月の第何月曜」というような単純なものではなく、天文学に基づいた複雑な計算が必要なのです。もっとも、実用的には数年後までの春分・秋分の日のデータを予め持っておけばいいだけのことですが、それだと忘れたころにエラーが出たりして味気ない思いをするかも知れませんよね。{:rn:}
そこで、理科年表を参考に以下のように実装してみました。
{:rn:}
{:rn:}
{:rn:}function isSpringEquinox(){{:rn:}    if(date==Math.floor(20.8431+0.242194*(year-1980)-Math.floor((year-1980)/4))){:rn:}        return true;{:rn:}    else{:rn:}        return false;{:rn:}}{:rn:}{:rn:}function isAutumnEquinox(){{:rn:}    if(date==Math.floor(23.2488+0.242194*(year-1980)-Math.floor((year-1980)/4))){:rn:}        return true;{:rn:}    else{:rn:}        return false;{:rn:}}{:rn:}
{:rn:}
{:rn:}year や date はグローバル変数です。例えば、コンピューターの時計が春分の日の時に isSpringEquinox() を呼び出すと true が返ります。これで、百年たっても大丈夫のはずですっ……、って激しく無駄機能ですね(汗){:rn:}

| サイト関連 | 21:08 | comments (0) | trackback (0) |
コメントをどうぞ





この記事のトラックバックURL
http://adrienne.mints.ne.jp/diary/tb.php/4
トラックバック


  
CALENDAR
S M T W T F S
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30   
<<   11 - 2017   >>
Pixiv
ARCHIVES
COMMENTS
TRACBACK
LINKS