java计算某个时间段的上一个时间段
package
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.GregorianCalendar;
public static void main(String[] args)
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
GregorianCalendar day1 = new GregorianCalendar(2008,1,29);
GregorianCalendar day2 = new GregorianCalendar(2009,6,16);
System.out.print("已知时间段为: ");
System.out.println(sdf.format(day1.getTime())+" 至 "+sdf.format(day2.getTime()));
long temp = day2.getTimeInMillis()-day1.getTimeInMillis();
long days = temp/(1000*60*60*24);
int day = Integer.parseInt(String.valueOf(days));
GregorianCalendar day3 = (GregorianCalendar)day1.clone();
day3.add(Calendar.DAY_OF_MONTH, -1);
GregorianCalendar day4 = (GregorianCalendar)day3.clone();
day4.add(Calendar.DAY_OF_MONTH, -day);
System.out.print("上期时间段为: ");
System.out.println(sdf.format(day4.getTime())+" 至 "+sdf.format(day3.getTime()));
GregorianCalendar day5 = (GregorianCalendar)day2.clone();
day5.add(Calendar.YEAR, -1);
GregorianCalendar day6 = (GregorianCalendar)day5.clone();
day6.add(Calendar.DAY_OF_MONTH, -day);
System.out.print("同期时间段为: ");
System.out.print(sdf.format(day6.getTime())+" 至 ");
System.out.println(sdf.format(day5.getTime()));
}
}