0

cal.set(Calendar.MONTH,-6);2012年12月3日に実行されたときに1年半前の日付を教えてくれました。

それは2011年7月2日の日付を与えました。

何が起こったのか誰か教えてもらえますか?

4

2 に答える 2

0

cal.set()は、現在の年を基準にした月を設定します。現在の年は2012年であるため、-6は6か月前、つまり2011年7月になります。適切な動作を得るには、cal.add(Calendar.MONTH、-6)またはcal.set(Calendar.MONTH、6)のいずれかを使用します。

于 2012-12-03T09:07:34.380 に答える
0

見た目では、月-6を 2012 からの相対値に設定しています。そして、0 が 1 月を-6意味するとすると、前年の 7 月を意味します。

「設定」操作、指定されたフィールドを設定します。フィールドをインクリメントまたはデクリメントしません。


必須の推奨事項 ... Joda Time を使用します。

于 2012-12-03T07:54:20.107 に答える