Java日期函数Calendar使用获取当月多少天Java日期时间函数一网打尽

前言

使用日期函数,获取当月多少天,当前第几月,以及各种与时间有关系的操作;
这篇文章草稿是在19-5-30写好的,一直想完善,写个一网打尽的,奈何自己懒,一直没写完,时隔一年,写完吧

字符串互转时间

     Date d=new Date();
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        //时间转字符串 2020-07-17 11:30:49
        String ds=df.format(d);
        System.out.println(ds);
        try {
    
    
            //字符串转时间 Fri Jul 17 11:26:22 CST 2020
            Date sd=df.parse("2020-07-17 11:26:22");
            System.out.println(sd);
        } catch (ParseException e) {
    
    
            e.printStackTrace();
        }

获取当月多少天

输入日期获取当月多少天

        String date="2019-05";
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM");
        Calendar calendar =Calendar.getInstance();
        try {
    
    
            calendar.setTime(dateFormat.parse(date));
        }catch (Exception e){
    
    
            throw new RuntimeException(e);
        }
        
        calendar.set(Calendar.MONTH, calendar.get(Calendar.MONTH));
        calendar.set(Calendar.DATE, 1);
        calendar.roll(Calendar.DATE,-1);
        int time1 =calendar.get(Calendar.DATE);
        System.out.println(time1);

两个日期比较大小

     String old="2020-07-12 19:30:48.0";
        String now="2020-07-17 11:30:48.0";
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        try {
    
    
            Date sd1=df.parse(old);
            Date sd2=df.parse(now);
            //sd1时间在sd2时间之前
            System.out.println(sd1.before(sd2));
             //sd1时间在sd2时间之后 返回布尔值
            System.out.println(sd1.after(sd2));
        } catch (ParseException e) {
    
    
            e.printStackTrace();
        }

获取某天的N天/月/年前

Calendar的方法很多,星期,小时,。。根据需求调用方法即可

 DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        Date date = new Date();//获取当前时间
        Calendar calendar = Calendar.getInstance();

        calendar.setTime(date);
        calendar.add(Calendar.DATE, -15);//当前时间减去15天,即15天前的时间
        String format = dateFormat.format(calendar.getTime());
        System.out.println(format);
        System.out.println(calendar.getTime());
        calendar.add(Calendar.YEAR, -1);//当前时间减去一年,即一年前的时间
        String format2 = dateFormat.format(calendar.getTime());
        System.out.println(format2);
        System.out.println(calendar.getTime());
        calendar.add(Calendar.MONTH, -1);//当前时间前去一个月,即一个月前的时间
        String format3 = dateFormat.format(calendar.getTime());
        System.out.println(format3);
        System.out.println(calendar.getTime());
        calendar.add(Calendar.MONTH, 1);//当前时间加一个月,即一个月后的时间
        String format4 = dateFormat.format(calendar.getTime());
        System.out.println(format4);
        System.out.println(calendar.getTime());

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/HezhezhiyuLe/article/details/90692727