JAVA将时间加/减8小时

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));
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值