第一種
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//格式化輸出日期
//Task task = taskMapper.selectByPrimaryKey(gid);
//Date now_offline_time = task.getOffline_time();也可以從數據庫取
Date now = new Date();//現在的時間
long time = 1*60*60*1000;//一小時,可自定義
Date afterDate = new Date(now .getTime() + time);//一小時後的時間
Date beforeDate = new Date(now .getTime() - time);//一小時前的時間
System.out.println(sdf.format(afterDate ));
第二種
String str = "1578649122";
// Date now = new Date();//如果拿到的是日期格式轉成時間戳就行
// String string = String.valueOf(now.getTime());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//格式化輸出日期
Date date = null;
try {
date = sdf.parse(str);
} catch (ParseException e) {
// TODO 自動生成的 catch 塊
e.printStackTrace();
}
Calendar after_datetime = Calendar.getInstance();
after_datetime.setTime(date);
after_datetime.add(Calendar.YEAR, -1);//日期減1年
after_datetime.add(Calendar.MONTH, 3);//日期加3個月
after_datetime.add(Calendar.MINUTE, 3);//日期加3分鐘
after_datetime.add(Calendar.DAY_OF_YEAR, 100);//日期加100天
after_datetime.add(Calendar.SECOND, 60);//日期加60秒
after_datetime.add(Calendar.HOUR, 6);//日期加6小時
Date dt1 = after_datetime.getTime();
String reStr = sdf.format(dt1);
System.out.println(reStr);