其Java日期加减,在一些时间运算就可以使用,请注意使用以下代码。
1.Date的加减
1.1Date加减新手适用
Date date=new Date(); //获取当前时间
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
System.out.println("今天的日期:"+df.format(date));
System.out.println("两天前的日期:" + df.format(new Date(date.getTime() - 2 * 24 * 60 * 60 * 1000)));
System.out.println("三天后的日期:" + df.format(new Date(date.getTime() + 3 * 24 * 60 * 60 * 1000)))
-----------------------------------
JAVA 日期加减计算
不推荐使用。
2.Calendar的日期加减
Calendar c=Calendar.getInstance(); //可获取当前时间
//Calendar日期加
c.add(Calendar.YEAR,1); //在当前的年份上加1年
c.add(Calendar.MONTH,2);//在当前的月份上加2月
c.add(Calendar.DATE,5);//在当前的天数上加5天
c.add(Calendar.HOUR,1);//在当前的小时上加1小时
c.add(Calendar.MINUTE,10);//在当前的分钟上加10分钟
c.add(Calendar.SECOND,60);//在当前的秒数上加60秒
//Calendar日期减
c.add(Calendar.YEAR,-1); //在当前的年份上减1年
c.add(Calendar.MONTH,-2);//在当前的月份上减2月
c.add(Calendar.DATE,-5);//在当前的天数上减5天
c.add(Calendar.HOUR,-1);//在当前的小时上减1小时
c.add(Calendar.MINUTE,-10);//在当前的分钟上减10分钟
c.add(Calendar.SECOND,-60);//在当前的秒数上减60秒
System.out.println(c.getTime());
演示如下:
若不需要显示这样的,就如下:
SimpleDateFormat s=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar c=Calendar.getInstance(); //可获取当前时间
c.add(Calendar.YEAR,1); //在当前的年份上加1年
c.add(Calendar.MONTH,2);//在当前的月份上加2月
c.add(Calendar.DATE,5);//在当前的天数上加5天
c.add(Calendar.HOUR,1);//在当前的小时上加1小时
c.add(Calendar.MINUTE,10);//在当前的分钟上加10分钟
c.add(Calendar.SECOND,60);//在当前的秒数上加60秒
System.out.println(s.format(c.getTime().getTime()));
//设置日期格式,第一个getTime()是转换为Date,第二个getTime()转换为时间戳
//s.format转换为String类型
运行结果,如下:
3.LocalDateTime的日期加减
LocalDateTime localDateTime=LocalDateTime.now();//获取当前时间
LocalDateTime plusYear=localDateTime.plusYears(2);//在当前的年份上加两年
LocalDateTime plusMonth=localDateTime.plusMonths(2);//在当前的月份上两月
LocalDateTime plusDay=localDateTime.plusDays(2);//在当前的日期上加两天
LocalDateTime plusHour=localDateTime.plusHours(2);//在当前的小时上加2小时
LocalDateTime plusMinute=localDateTime.plusMinutes(2);//在当前的分钟上2分钟
LocalDateTime plusSecond=localDateTime.plusSeconds(60);//在当前的秒数上加60秒
System.out.println("当前时间是:"+ localDateTime + "\n"+
"当前时间加2年后为: " + plusYear + "\n"+
"当前时间加3个月后为 :"+ plusMonth + "\n"+
"当前时间加7日后为 :" + plusDay+"\n"+
"当前时间加2小时后为 :"+ plusHour + "\n" +
"当前时间加10分钟后为 :" + plusMinute + "\n"+
"当前时间加10秒后为 :" + plusSecond );
//以下是可加可减,plus(参数1,参数二) 参数一:相加的数量,为负数则是减 参数二:相加的单位
LocalDateTime Year=localDateTime.plus(-1, ChronoUnit.YEARS);
//在当前的年份上减去一年
LocalDateTime Month=localDateTime.plus(-1,ChronoUnit.MONTHS);
//在当前的月份上减去两月
LocalDateTime Day=localDateTime.plus(-1,ChronoUnit.DAYS);
//在当前的日期上减去1天
LocalDateTime Hour=localDateTime.plus(-1,ChronoUnit.HOURS);
//在当前的小时上减去1小时
LocalDateTime Minute=localDateTime.plus(-10,ChronoUnit.MINUTES);
//在当前的分钟上减去10分钟
LocalDateTime Second=localDateTime.plus(-60,ChronoUnit.SECONDS);
//在当前的秒数上减器60秒
LocalDateTime Week=localDateTime.plus(-1,ChronoUnit.WEEKS);
//在当前的时间上减去一周(7天)
System.out.println(Week);
运行结果
如下: