在日期前12天显示为当前日期

时间:2013-03-21 05:57:59

标签: java calendar

我制作了自定义Calendar.It将设备的日期显示为当前日期。但我的要求是在日期前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 个答案:

答案 0 :(得分:1)

尝试:

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

这将roll提前12天,然后是12岁。

答案 1 :(得分:0)

在许多语言中,NOW是一个在调用时返回DateTime时间的函数。你可以add一个负数( - )的天数,它将返回你需要的。我总是忘记这一点,认为你只能添加一个积极的,但这是不正确的。 ;-)

希望有所帮助。

答案 2 :(得分:0)

试试吧。

_calendar = Calendar.getInstance(Locale.getDefault());
_calendar.setTime(new Date());
_calendar.add(Calendar.DATE, -12);
Date twelveDaysAgo = _calendar.getTime();

答案 3 :(得分:0)

这会将日期移回12天,如果需要也会改变月/年。

_calendar.add(Calendar.DAY_OF_YEAR, -12);