xmlgregoriancalendar.geteon()の実用的な使用について誰もが考えることができますか?

StackOverflow https://stackoverflow.com/questions/6385645

  •  29-10-2019
  •  | 
  •  

質問

私は出会いました XMLGregorianCalendar しばらく前のクラスと私は、グレゴリアンカレンダーが軽量に見えるようにしたことに感銘を受けました。 ;)

最近、私は方法に気づきました BitInteger getEon() それは私を困惑させます。

xmlgregoriancalendarのJavadocから

getYear()は、 - (10^9-1)から(10^9)-1またはdatatypeconStants.field_undefinedの間の値です。 geteon()は、数十億年の年で高次の年額です。

地球上の1日の長さが数百万年にわたって大幅に変化し、1年の日数が変化したため、私は私に起こります。グレゴリオカレンダーは、10億年前または10億年前には意味がありません。したがって、geteon()は賢明にしか設定できません 0 または、ほぼ同じ結果を持つ未定義のままです。

私の質問:私は何かが足りませんか?のために賢明な使用法はありますか getEon() 方法?

役に立ちましたか?

解決

まあ、によれば http://www.merlyn.demon.co.uk/critdate.htm 64ビット整数を使用したUNIX時間は、3E11頃に終了します。 Javaが数秒ではなくミリ秒を使用していることを考えると、Java Time(64ビット)は3E8前後に終了します。したがって、これにより、JVMの制限を超えた拡張が提供されます。

より実用的なメモでは、この時間のスケールを使用する場合、地質学的、進化的、または宇宙論的イベントについて話しているため、日付(年、月、日...)の残りのデータは無意味です。年(またはEONのINT)で長い時間を使用して、残りの部分を忘れる方が良いです。

誰かが本当に、本当に退屈だった(そして退屈)ようだ。


編集:もちろん、使用できるクレイジーな問題は常にありますが、現実世界の問題ではありません(「64枚のディスク付きのハノイタワーがあり、ディスクを1秒間移動する場合、タワーの交換が終了するとき」 )。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top