java的日历类Calendar使用

简单介绍

Calendar类是一个抽象类public abstract class Calendar implements Serializable, Cloneable, Comparable,它为特定时间与一组诸如YEAR、MONTH、DAY_OF_MONTH、HOUR等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。就是可以利用它来获得自己想要的时间,可以是指定的过去的时间,也可以是将来的时间,或者是经过计算之后的时间。总之就是用来获取时间的。

用get方法获取时间

        //获取calendar对象
        Calendar instance = Calendar.getInstance();
        //用get方法获取时间
        int year = instance.get(Calendar.YEAR);
        System.out.println("year:" + year);
        //这时是返回的是一个数字,对应的是Calendar的月份常数。一月是0,二月是1····十二月是11,依次类推
        int mouth = instance.get(Calendar.MONTH) + 1;
        System.out.println("mouth:" + mouth);
        获取当前天数
        int date = instance.get(Calendar.DATE);
        System.out.println("date:" + date);
        int dayOfMonth = instance.get(Calendar.DAY_OF_MONTH);
        System.out.println("dayOfMonth:" + dayOfMonth);
        //当前月最大天数
        int maximum = instance.getActualMaximum(Calendar.DATE);
        System.out.println("maximun:" + maximum);
        //当前月最小天数
        int actualMinimum = instance.getActualMinimum(Calendar.DATE);
        System.out.println("actualMinimum:" + actualMinimum);
        //获取当前处于一天中的第几个小时,
        int hourOfDay = instance.get(Calendar.HOUR_OF_DAY);
        System.out.println("hourOfDay:" + hourOfDay);
        //获取当前分钟数
        int minute = instance.get(Calendar.MINUTE);
        System.out.println("minute:" + minute);
        //获取当前秒数
        int second = instance.get(Calendar.SECOND);
        System.out.println("second:" + second);
        //星期(Locale.ENGLISH情况下,周日是1,周一2,周二3,周三4,周四5,周五6,周六7)
        int dayOfWeek = instance.get(Calendar.DAY_OF_WEEK)-1;
        System.out.println("dayOfWeek:" + dayOfWeek);

        //如果需要将获得到的时间格式化输出,则需要使用SimpleDateFormart 模式为yyyy-MM-dd HH:mm:ss
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date now = instance.getTime();
        System.out.println("格式化时间:" + sdf.format(now));

执行结果:
java的日历类Calendar使用_第1张图片

用set方法来设置时间

        //设置时间之后用getTime()得到时间 例如:
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        //使用set()方法来进行设置指定时间
        Calendar cal=Calendar.getInstance();
        cal.set(2020, 3, 3, 13, 44, 51);//年月日时分秒(月份0代表1月)
        System.out.println("打印时间-1:"+format.format(cal.getTime()));

        cal.set(Calendar.YEAR, 2014);//年
        cal.set(Calendar.MONTH, 7);//月(月份0代表1月)
        cal.set(Calendar.DATE, 11);//日
        cal.set(Calendar.HOUR_OF_DAY, 15);//时
        cal.set(Calendar.MINUTE, 3);//分
        cal.set(Calendar.SECOND, 32);//秒
        System.out.println("打印时间-2:"+format.format(cal.getTime()));

执行结果:
在这里插入图片描述

使用add方法对时间进行设置

        Calendar cal=Calendar.getInstance();
        //设置时间之后用getTime()得到时间 例如:
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println("打印当前时间:"+format.format(cal.getTime()));
        //使用add()方法对时间进行运算
        cal.add(Calendar.YEAR, 1);//给当前年份加1年,-1就是减一年
        cal.add(Calendar.MONTH, 1);//给当前月加1月
        cal.add(Calendar.DATE, 1);//当前时间+1
        cal.add(Calendar.HOUR_OF_DAY, -1);//当前小时-1
        cal.add(Calendar.MINUTE, 1);//分
        cal.add(Calendar.SECOND, 1);//秒
        cal.add(Calendar.DATE, 7);//周
        System.out.println("打印变更后时间:"+format.format(cal.getTime()));

执行结果:
在这里插入图片描述

你可能感兴趣的:(Java学习,java,开发语言)