1. 程式人生 > 其它 >Java時間的加減處理

Java時間的加減處理

1 直接加減
採用的是Date型別的資料和Long型別的資料之間的轉換

Date轉換為Long
long time = date.getTime();

Long轉換為Date
Date date2 = new Date(newTime);

// 把Date型別的日期轉換為Long型別的數字,然後也可以進行上述的時間的加減操作

// 一天 = 24 * 60 * 60 * 1000 =86400000L
// 下面演示當前時間加30天
Date date1 = new Date();
long time = date.getTime();
long newTime = time + 30 * 86400000L;
Date date2 = new Date(newTime);
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String format = formatter.format(date2);

Java對日期Date類進行加減運算,年月日,時分秒

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date dt = new Date();
System.out.println(sdf.format(dt));

Calendar rightNow = Calendar.getInstance();
rightNow.setTime(dt);
// 日期減1年
rightNow.add(Calendar.YEAR, -1);
Date dt1 = rightNow.getTime();
String reStr = sdf.format(dt1);
System.out.println("日期減1年:" + reStr);
// 日期加3個月
rightNow.add(Calendar.MONTH, 3);
Date dt2 = rightNow.getTime();
String reStr2 = sdf.format(dt2);
System.out.println("日期加3個月:" + reStr2);
// 日期加10天
rightNow.add(Calendar.DAY_OF_YEAR, 10);
Date dt3 = rightNow.getTime();
String reStr3 = sdf.format(dt3);
System.out.println("日期加10天:" + reStr3);
// 日期加60秒
rightNow.add(Calendar.SECOND, 60);
Date dt4 = rightNow.getTime();
String reStr4 = sdf.format(dt4);
System.out.println("日期加60秒:" + reStr4);


Date now = new Date();
System.out.println(sdf.format(now));
// 60秒
long time = 60 * 1000;
Date afterDate = new Date(now.getTime() + time);
System.out.println("60秒後的時間:" + sdf.format(afterDate));
Date beforeDate = new Date(now.getTime() - time);
System.out.println("60秒前的時間:" + sdf.format(beforeDate));