java中,我已经知道了一个时间,如何实现在这个时间的基础上一年后 的前一天时间。

如题所述

第1个回答  2014-03-24
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, 2013);//年
calendar.set(Calendar.MONTH, 9);//月
calendar.set(Calendar.DAY_OF_MONTH, 9);//日
calendar.set(Calendar.HOUR, 23);//时
calendar.set(Calendar.MINUTE, 59);//分
calendar.set(Calendar.SECOND, 59);//秒
calendar.add(Calendar.YEAR, 1);//加一年
calendar.add(Calendar.DAY_OF_MONTH, -1);//减一天
System.out.print(calendar.getTime());本回答被提问者和网友采纳
第2个回答  2014-03-24
import java.util.Calendar;
import java.util.GregorianCalendar;
class CalendarDemo
{
public static void main(String[] args)
{
Calendar calendar = new GregorianCalendar();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH)  + 1; // Jan = 0, not 1
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(year + "/" + month + "/" + dayOfMonth);
calendar.add(Calendar.YEAR, 1);
calendar.add(Calendar.DAY_OF_MONTH, -1);
year = calendar.get(Calendar.YEAR);
month = calendar.get(Calendar.MONTH)  + 1; // Jan = 0, not 1
dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(year + "/" + month + "/" + dayOfMonth);
}
}

第3个回答  2014-03-24
假设date变量为你知道的时间。
import org.apache.commons.lang.time.DateUtils;
date = DateUtils.addYears(date, 1);//一年后
date = DateUtils.addDays(date, -1);//前一天