第一种
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);