2011-11-08 16 views
0

私はjavaカレンダーを使用します。 calendar.set(...)を使用して日付を変更すると、デバッガに表示されますJavaなぜcalendar afieldsetがfalseであるのですか?

areFieldSet=false. 

どうすればいいですか? 私は日付を尋ねるとき - 正しい値を受け取っていないので。おかげさまで

+0

投稿する[SSCCE](http://sscce.org) – aioobe

+0

私はこれとは何の関係もない別の問題があると思っています。短くて完全なプログラムを投稿して本当に抱いていることは、我々はそれに対処することができます...(カレンダーの計算を間違えてしまうのは簡単なことです。原因を推測するよりも、あなたがしていることを示す方がはるかに良いでしょう。 –

答えて

3

通常、あなたはそれについて気にする必要はありません。しかし、とにかくフィールドを設定する必要のあるメソッドを呼び出すと、たとえばcalendar.get(0)が呼び出され、そのフィールドがtrueになります。

2

適切なgetメソッドを呼び出すと、強制的にフィールドの再計算が行われますが、なぜ気にしますか?パブリックAPIを使用している場合は、このフィールドを気にする必要はありません。

Joda Timeライブラリーをfar Java用の優れた日付/時刻APIとして見てください。

1

そのフィールドに対してjavadoc:

フィールドは[]は、現在設定されている時刻と同期している場合。 falseの場合、次にフィールドの値を取得しようとすると、 は現在の値 の時刻からすべてのフィールドの再計算を強制します。

これは内部フィールドなので、心配する必要はありません。

関連する問題