2011-06-17 102 views
6

我前段時間遇到了XMLGregorianCalendar類,我對它使GregorianCalendar看起來輕量級的方式印象深刻。 ;)任何人都可以想到XMLGregorianCalendar.getEon()的實際用途嗎?

最近,我注意到一種方法BitInteger getEon()這讓我感到困惑。

從Javadoc中的XMLGregorianCalendar

得到年()是之間的值 - (10^9)-1或DatatypeConstants.FIELD_UNDEFINED(10^9-1)。 getEon()是十億年內的高位年價值。

它發生,我認爲一天中地球上長了好幾天的一年人數顯著超過百萬年的變化和已經發生變更。公曆十年前或十億年後將沒有意義。因此,getEon()只能明智地設置爲0或者未定義,其結果大致相同。

我的問題:我錯過了什麼嗎?對於getEon()方法是否合理使用?

回答

4

那麼,根據http://www.merlyn.demon.co.uk/critdate.htm使用64位整數的unix時間將在3E11年左右結束。鑑於Java使用毫秒而不是秒,Java時間(64位)將在3E8左右結束。所以這提供了一些超出JVM限制的擴展。在一個更實際的說明中,當你使用這個時間尺度時,你談論的是地質,進化或宇宙學事件,所以其他日期(年,月,日......)中的數據是沒有意義的。如果你在一年中使用長時間(或者甚至與eon一起使用int)並且忘記其餘部分,那更好。

看起來有人真的很無聊(和無聊)。


編輯:當然,總是有一些瘋狂的問題,可以使用它,而不是現實世界的問題(如:「如果我們有一個河內塔有64盤和移動盤第二個時,我們會完成交換塔「)。

相關問題