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中,有一个函数DateTime在调用时返回 a 。你可以add给它负 (-) 天数,它会返回你需要的。我总是忘记这一点,以为你只能添加一个积极的,但这是不正确的。;-)

希望有帮助。

于 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 回答