トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   どこでも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という数字は切り捨てたときにつごうよくなる数字で深い意味はなく
配列を使って加算値を得てもよいと思います。

とりあえずこのスレでのレスはここまでとします。


----------------
通常のハンドル名:×○○× ねた回収モードに突入 現在1/100

フラット表示 前のトピック | 次のトピック

題名 投稿者 日時
   経過日数計算の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

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops