1. 业务背景
在业务研发过程中碰到条件范围查询或是设定截止日期,需要基于当前时间向前或是向后进行加减几天,但是因为可能涉及跨月或是跨小时并不能单纯的直接在月份上+1或是-1操作,针对这种情况JAVA提供了相关的API可以完成相关的功能,具体方法如下
2. 操作方法
// 获取当前时间 Date date = new Date(); Calendar calendar = new GregorianCalendar(); calendar.setTime(date); // 把日期往后增加一天,整数 往后推,负数往前移动 calendar.add(Calendar.DATE, 1); // 这个时间就是日期往后推一天的结果 date = calendar.getTime();
3. 功能测试
附:Java Date类型数据 时间加一天,加一小时,加一分,加一秒
首先获取当前的时间
Date date = new Date(); System.out.println(date);
输出:
Sun Jun 19 18:25:20 CST 2022
将date转换为Long类型即用到了函数date.getTime
long time = date.getTime(); System.out.println(time);
1655634320515
这个得到的time是自从公元纪年之后的时间差,得到的是毫秒ms级别的
所以你想要加一秒就date.getTime() + 1000;
相加一分钟就date.getTime() + 1000*60;
相加一小时就date.getTime() + 1000*60*60;
想加一天 就date.getTime() + 1000*60*60*24;
以此类推即可
之后我们再new一个date设置我们想要的时间就完事辣
@Test public void testtime(){ Date date = new Date(); System.out.println("写代码的当前时间是"+date); long time = date.getTime(); // System.out.println(time); Date newDate = new Date(); newDate.setTime(time + 1000); System.out.println("加一秒"+ newDate); newDate.setTime(time + 1000*60); System.out.println("加一分"+ newDate); newDate.setTime(time + 1000*60*60); System.out.println("加一时"+ newDate); newDate.setTime(time + 1000*60*60*24); System.out.println("加一天"+ newDate); }
输出:
写代码的当前时间是Sun Jun 19 19:00:08 CST 2022
加一秒Sun Jun 19 19:00:09 CST 2022
加一分Sun Jun 19 19:01:08 CST 2022
加一时Sun Jun 19 20:00:08 CST 2022
加一天Mon Jun 20 19:00:08 CST 2022
总结
您可能感兴趣的文章: