メイン どこでもFlash【携帯向けFlash関連】 経過日数計算のActionScript | 投稿するにはまず登録を |
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
Fla4man | Åê¹ÆNo.19629 投稿日時: 2005-8-23 22:35 |
職人 居住地: かまくら 投稿: 517
使用環境:
|
Re: 経過日数計算のActionScript 月齢関連のサンプル(できるだけシンプルにしたもの)はBak@Flaかなんかに投稿しますが
とりあえずちょっと調べなおしたところ GetLocaleShortDate は imodeシミュレータで反応しなかったのと Googleでの探索が GetLocaleShortDate 19 GetDateDay 76 ということで GetDateMonth、GetDateDay、GetDateYearを使う方が無難だとおもいます。 ( ※MX,Flash4,5ユーザーがflasmで作る場合引数1のFscomand2は push 'y' push 'GetDateYear' push '1' FSCommand2 setVariable の構文になります。 ) 通日計算はうるうどしの100年ルールと400年ルールの計算も必要ですが 1900年3月から 2099年までという見方をすると MJD:準ユリウス日 1858年11月17日0時(UT)JD=2400000.5日 は y = FSCommand2("GetDateYear") m = FSCommand2("GetDateMonth") d = FSCommand2("GetDateDay") if m <3 then (y=y-1 ;m=m+10) else m=m-2 ; //3月を起点とします MJD=int(365.25 * y) + int(30.59 * m) +d - 678912 -int(y/100)+int(y/400) 1900年3月から2100年2月まで限定の場合 MJD=int(365.25 * y) + int(30.59 * m) +d - 678927 となります。 この数値は一般的天体計算をするのに使えます。 例えば2005/8/23は int(2005*365.25) + int(30.59 *6) +23 -628927=53605 です。 普通時差については考えないでJST 9:00(UT 0:00)と考えていいと思うます。 Flash4ルールなのでint は普通に切り捨てです。(言語によっては四捨五入) 月の 朔望周期は29.53なので適当な日を起点にしてもよいと思うのですが 起点日をSとすると Nday=int(365.25 * y) + int(30.59 * m) +d - 678927 -S で新月からの経過日数が求められます。 月齢Nmoonは Nmoon = Nday % 29.53 でえられます。 月計算の30.59という数字は切り捨てたときにつごうよくなる数字で深い意味はなく 配列を使って加算値を得てもよいと思います。 とりあえずこのスレでのレスはここまでとします。
|
フラット表示 | 前のトピック | 次のトピック |
題名 | 投稿者 | 日時 |
---|---|---|
経過日数計算のActionScript | momiji | 2005-8-20 19:05 |
Re: 経過日数計算のActionScript | Fla4man | 2005-8-20 20:11 |
Re: 経過日数計算のActionScript | momiji | 2005-8-21 14:52 |
» Re: 経過日数計算のActionScript | Fla4man | 2005-8-23 22:35 |
投稿するにはまず登録を | |