SimpleDateFormat sdfFormat = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
Date dateStart;
Date dateEnd;
try {
dateStart = sdfFormat.parse(“2019-01-01 00:00:00");
dateEnd = sdfFormat.parse(“2019-02-01 00:00:00");
} catch (Exception e) {
LOGGER.error("\nesQueryLog日志日期格式{} {} 不支持转换", fromTimestamp, toTimestamp);
return DataUtil.backResult(“500”, “查询失败,请稍后再试!”, null);
}
/** GC日志特殊处理,将传入的时间参数固定减去8小时 */
Calendar cal = Calendar.getInstance();
cal.setTime(dateStart);
cal.add(Calendar.HOUR_OF_DAY, -8);
dateStart = cal.getTime();
cal.setTime(dateEnd);
cal.add(Calendar.HOUR_OF_DAY, -8);
dateEnd = cal.getTime();
System.out.println(sdfFormat.format(dateStart));
System.out.println(sdfFormat.format(dateEnd));
/**
* 日期的加减方法
* 用于在当前的天或者小时或者分钟或者月份的基础上加上或者减去若干小时,分钟,日,月
* @param currentDay 当前月份的某一天
* @param day (Calendar.DATE 天 Calendar.HOUR 小时 Calendar.MINUTE 分钟 Calendar.MONTH 月)需要加上的天数或者需要减去的天数,
* 例如:加上10天:(Calendar.DATE,10)减去十天:(Calendar.DATE,-10)
* @return 返回加上或者减去的那个日期
* @author 程熙
* ${2013-11-19}
*/
public Date dayAddAndSub(int currentDay,int day) {
Calendar calendar = Calendar.getInstance();
calendar.add(currentDay, day);
Date startDate = calendar.getTime();
return startDate;
}
/**
* 测试用的程序
* @param args
*/
public static void main(String[] args) {
SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
Date currnetDate = new Date();
Calendar calendar = Calendar.getInstance();
Test test = new Test();
Date dateResult = test.dayAddAndSub(Calendar.DATE, -1); //一个月中的某天
//Date dateResult = test.dayAddAndSub(Calendar.HOUR , -4); //小时
//Date dateResult = test.dayAddAndSub(Calendar.MINUTE , -60); //分钟
//Date dateResult = test.dayAddAndSub(Calendar.MONTH , -1); //月
System.out.println(sdf.format(dateResult));
}