Calendar日历类—使用总结

简述Calendar日历类

public abstract class Calendar implements Serializable, Cloneable, Comparable<Calendar>

  该类被abstract修饰,不能被new的方式实例。Calendar提供了一个方法—getInstance,获得此类型的一个通用的对象,getInstance方法返回一个Calendar对象(该对象为Calendar子类对象)。

Calendar calendar = Calendar.getInstance();

  为了更加便捷的对日期进行操作,Calendar类对YEAR、MONTH、DAY_OF_MONTH、HOUR等日历字段直接转换提供了一些方法,并为操作日历字段提供了一些方法。

  测试:

    @Test
    public void test(){
        Calendar calendar =Calendar.getInstance();
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
        System.out.print(sdf.format(calendar.getTime()));
    }

  结果:2019-07-03 —— 当前日期

Calendar还提供了一些常用方法    Calendar calendar = null;    @Before    public void init(){        calendar =Calendar.getInstance();

    }

    @Test
    public void test(){
        calendar =Calendar.getInstance();      //实例一个日历
        //获取当前的日期
        int year = calendar.get(Calendar.YEAR);
        System.out.print(year+"年");     //获得当前年份
        int monday = calendar.get(Calendar.MONDAY);
        System.out.print((monday+1)+"月");     //获得月份,减一,需要得到真正的月份需要+1
        int week = calendar.get(Calendar.WEEK_OF_YEAR);
        System.out.print(week+"周");        //获得当前周
        int day = calendar.get(Calendar.DAY_OF_MONTH);
        System.out.print(day+"日");        //获得当前天数
        int hour = calendar.get(Calendar.HOUR);
        System.out.print(hour+"时");       //获得小时
        int minute = calendar.get(Calendar.MINUTE);
        System.out.print(minute+"分");     //获得分钟
        int second = calendar.get(Calendar.SECOND);
        System.out.print(second+"秒");     //获得秒钟
    }

    @Test
    public void test2(){
        //设置时间
        //对指定的年份做处理
        //calendar.add(Calendar.YEAR,-1);
        //指定一个月份
        int currmonday = 10;
        System.out.println(Calendar.MONTH);
        System.out.println(Calendar.DAY_OF_MONTH);
        //固定一个时间点,我们找的是10月份的最后一天,但是MONTH的设置,月份会比我们设置的月份大一个月
calendar.set(calendar.get(Calendar.YEAR),currmonday,1); //使用add方法设置将刚才我们设置的天数1少一天 calendar.add(Calendar.DATE,-1); System.out.println(calendar.get(Calendar.MONTH)); System.out.println(calendar.get(Calendar.DATE)); }

Calendar类中还有许多方法如claer()、compareTo()、等

Calendar calendar = null;
@Before
public void init(){
calendar =Calendar.getInstance();
}

@Test
public void test(){
calendar =Calendar.getInstance(); //实例一个日历
//获取当前的日期
int year = calendar.get(Calendar.YEAR);
System.out.print(year+"年"); //获得当前年份
int monday = calendar.get(Calendar.MONDAY);
System.out.print((monday+1)+"月"); //获得月份,减一,需要得到真正的月份需要+1
int week = calendar.get(Calendar.WEEK_OF_YEAR);
System.out.print(week+"周"); //获得当前周
int day = calendar.get(Calendar.DAY_OF_MONTH);
System.out.print(day+"日"); //获得当前天数
int hour = calendar.get(Calendar.HOUR);
System.out.print(hour+"时"); //获得小时
int minute = calendar.get(Calendar.MINUTE);
System.out.print(minute+"分"); //获得分钟
int second = calendar.get(Calendar.SECOND);
System.out.print(second+"秒"); //获得秒钟
}

@Test
public void test2(){
//设置时间
//对指定的年份做处理
//calendar.add(Calendar.YEAR,-1);
//指定一个月份
int currmonday = 10;
System.out.println(Calendar.MONTH);
System.out.println(Calendar.DAY_OF_MONTH);
//固定一个时间点,我们找的是10月份的最后一天,但是MONTH的设置,月份会比我们设置的月份大一个月
calendar.set(calendar.get(Calendar.YEAR),currmonday,1);
//使用add方法查找到
calendar.add(Calendar.DATE,-1);
System.out.println(calendar.get(Calendar.MONTH));
System.out.println(calendar.get(Calendar.DATE));
//得到最大月份
System.out.println(calendar.getActualMaximum(currmonday)+1);
}
posted @ 2019-07-03 20:12  Slike劫  阅读(3866)  评论(0编辑  收藏  举报