1.add roll
public static void main(String[] args) {
// TODO Auto-generated method stub
final Calendar calendar = Calendar.getInstance(Locale.US);
Calendar newCalendar = (Calendar) calendar.clone();
newCalendar.add(Calendar.DAY_OF_YEAR, -10);
// newCalendar.roll(Calendar.DAY_OF_YEAR, -10);
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String time=format.format(newCalendar.getTime());
System.out.println("//times:"+time);
}
//times:2012-12-25
如果是roll 结果是//times:2013-12-25
2.reportGetDate
// 获得指定日期加指定年月日小时后的天: number:为正数是相加,为负数是相减,type为增减类型,年月日小时
public static int reportGetDate(Date d, String type, int number) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(d);
if (type.equals("YEAR"))
calendar.add(Calendar.YEAR, number);
if (type.equals("MONTH"))
calendar.add(Calendar.MONTH, number);
if (type.equals("DAY"))
calendar.add(Calendar.DAY_OF_MONTH, number);
if (type.equals("HOUR"))
calendar.add(Calendar.HOUR_OF_DAY, number);
Date date = calendar.getTime();
int day = date.getDate();
return day;
}
3.时间差
public static void main(String args[]) {
Calendar calendar = Calendar.getInstance();
// 创建一个日历对象
calendar.setTime(new Date());
// 用当前时间初始化日历时间
String 年 = String.valueOf(calendar.get(Calendar.YEAR)), 月 = String
.valueOf(calendar.get(Calendar.MONTH) + 1), 日 = String
.valueOf(calendar.get(Calendar.DAY_OF_MONTH)), 星期 = String
.valueOf(calendar.get(Calendar.DAY_OF_WEEK) - 1);
int hour = calendar.get(Calendar.HOUR_OF_DAY), minute = calendar
.get(Calendar.MINUTE), second = calendar.get(Calendar.SECOND);
System.out.println("现在的时间是:");
System.out.print("" + 年 + "年" + 月 + "月" + 日 + "日 " + "星期" + 星期);
System.out.println(" " + hour + "时" + minute + "分" + second + "秒");
calendar.set(1931, 8, 18);
// 将日历翻到1931年九月十八日,8表示九月
long timeOne = calendar.getTimeInMillis();
calendar.set(1945, 7, 15);
// 将日历翻到1945年八月十五日,7表示八月
long timeTwo = calendar.getTimeInMillis();
long 相隔天数 = (timeTwo - timeOne) / (1000 * 60 * 60 * 24);
System.out.println("1945年8月15日和1931年9月18日相隔" + 相隔天数 + "天");
}
现在的时间是:
2013年1月4日 星期5 10时43分40秒
1945年8月15日和1931年9月18日相隔5080天