2011-11-08 57 views
0

我使用java日曆。當我使用calendar.set(...)更改日期時,我在調試器中看到Java爲什麼calendar afieldset是錯誤的?

areFieldSet=false. 

如何才能使其成爲真? 因爲當我問日期 - 我收到不正確的價值。 謝謝。

+0

請發表[SSCCE](http://sscce.org) – aioobe

+0

我懷疑你有一個不同的問題,這與此無關 - 如果你可以發佈一個簡短但完整的程序來演示你的問題我們可以解決這個問題...(很容易讓日曆計算錯誤,並且告訴我們你在做什麼比猜測原因要好得多)。 –

回答

3

通常你不需要關心這一點。但無論如何,調用任何需要設置字段的方法,例如calendar.get(0),都會使該字段成爲真實。

2

調用合適的get方法將強制重新計算字段 - 但爲什麼要關心?如果你只是使用公共API,你不應該關心這個領域。

另外,您可能希望將Joda Time庫作爲遠的用於Java的優秀日期/時間API。

1

在該字段中的JavaDoc的:

真如果領域[]是同步的與當前設置的時間。 如果爲false,則下一次嘗試獲取字段的值將從 時間強制重新計算所有字段的所有字段。

由於這是一個內部字段,您不應該擔心這一點。