みなさん今日は、けーいちでござる。

今回は、現実の時間からアストルティアの時間を求める方法についてでござる。ver.2.0から少し仕様変更があったでござるが、その対応版でござるよ。

極限さんの情報によると、このような法則となっているそうでござる。 
  • 日本時間の0:00がアストルティアの0:00に対応。
  • アストルティアの1日は現実時間の72分。
つまり、現実の3分間がアストルティアでの1時間に相当するのでござる。

【アストルティアの「時」を求める】

1.日本時間で0:00を基準とし、何分が経過したかを求める。

 時 X 60 + 分

2.これを3で割れば、アストルティアで経過した時が分かる。余りは切り捨て。

 Math.floor( (時 X 60 + 分) / 3 )

3.アストルティアでは1日以上経過している可能性がある。今回求めているのは時計の時なので、24で割った余りを求める。

 アストルティア時 = ( Math.floor( (時 X 60 + 分) / 3 )  ) % 24

【アストルティアの「分」を求める】

時を求めるときに使った余りを使う方法もあるでござるが、分だけ個別に求めるほうがシンプルな気がするでござる。

1.日本時間で0:00を基準とし、何秒が経過したかを求める。

 時 X 3600 + 分 X 60 + 秒

2.20倍し、アストルティアでの経過秒数を求める。

 (時 X 3600 + 分 X 60 + 秒) X 20

3.これを60で割り、秒から分に変換する。余りは切り捨て。
 Math.floor( ( (時 X 3600 + 分 X 60 + 秒) X 20 ) / 60 )

4.アストルティアでは1時間以上経過している可能性がある。今回求めているのは時計の分なので、60で割った余りを求める。

 アストルティア分 = Math.floor( ( (時 X 3600 + 分 X 60 + 秒) X 20 ) / 60 ) % 60


これからアストルティア時計を作ろうとしている人の参考になれば幸いでござる。