入门级Java日期的加减

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

运行结果
如下:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值