2013-08-29 21 views
1

有喜歡的常量定義很多:查找標準的Java輔助類或持有日期時間常數接口

public static final long MS_IN_YEAR = 1000L * 3600L * 365L; 
public static final int SEC_IN_DAY = 3600; 

是否有任何標準的類,它已經持有這些常量?

最近我在自己的常量定義中發現了bug。我喜歡避免這樣的錯誤......

更新另外我認爲標準定義爲常量提供了一致的短名稱,所以你不應該發明自己的!

+2

「最近我在自己的常量定義中發現了錯誤」,你的意思就像SEC_IN_DAY的值;-) – Henry

+2

'MS_IN_YEAR'不是一個常量。撇開閏秒,你有閏年,比平常年多了幾秒。 –

回答

3

據我所知,在標準的JDK類中沒有這樣的東西。然而,在DateTimeConstants類別Joda-Time中有類似的字段。

肯定有SECONDS_PER_DAY,但似乎並沒有專門針對millis的一年。你可以通過365乘以MILLIS_PER_DAY

+0

365只有4年的3年。另外,有些年份還增加了閏秒。 – DwB

+1

@DwB這可能與OP有關,也可能不相關。這個答案只是解決了被問到的直接問題。 – arshajii

+1

我希望用Java 8新的datetime API定義這些常量... – gavenkoa