1

カスタムカレンダーを作成しました。デバイスの日付が現在の日付として表示されます。しかし、私の要件は、日付の12日前を現在の日付として表示することです。例-今日は21ですが、カレンダーに9を表示したいと思います。年についても同じことをしたいと思います。現在の日付を取得する方法を知っています。私はこのコードを使用しています。

_calendar = Calendar.getInstance(Locale.getDefault());
month = _calendar.get(Calendar.MONTH) + 1;
year = _calendar.get(Calendar.YEAR);
Log.d(tag, "Calendar Instance:= " + "Month: " + month + " " + "Year: " + year);

私の新しいコードは

_calendar = Calendar.getInstance(Locale.getDefault());
month = _calendar.get(Calendar.MONTH) + 1;
year = _calendar.get(Calendar.YEAR);
Log.d(tag, "Calendar Instance:= " + "Month: " + month + " " + "Year: " + year);
/*_calendar.add(Calendar.DAY_OF_YEAR, -12);*/
_calendar.roll(Calendar.DAY_OF_MONTH, -12);
_calendar.roll(Calendar.MONTH, -12);
Calendar _calendar=Calendar.getInstance();
4

4 に答える 4

1

試す:

_calendar.roll(Calendar.DAY_OF_YEAR, -12);
_calendar.roll(Calendar.YEAR, -12);

これにより、日が 12ずつロールバックされ、次に年が 12 ずつロールバックされます。

于 2013-03-21T06:06:24.933 に答える
0

多くの言語では、呼び出された時点のNOWを返す関数があります。負の (-) 日数を指定すると、必要なものが返されますDateTimeadd私はいつもそれを忘れて、プラスしか追加できないと思っていますが、それは正しくありません。;-)

それが役立つことを願っています。

于 2013-03-21T06:06:13.940 に答える
0

それを試してみてください。

_calendar = Calendar.getInstance(Locale.getDefault());
_calendar.setTime(new Date());
_calendar.add(Calendar.DATE, -12);
Date twelveDaysAgo = _calendar.getTime();
于 2013-03-21T06:07:23.937 に答える
0

これにより、日付が 12 日戻され、必要に応じて月/年も変更されます。

_calendar.add(Calendar.DAY_OF_YEAR, -12);
于 2013-03-21T06:10:08.900 に答える