Calendar时间类的使用

一 Calendar类的简单使用

YEAR
MONTH月(注意月的值是从O开始的,即如果取出的值为0,即为1月)
DATE 
HOUR以12小时为周期的小时(注意:正午和午夜用O表示,而不是12)
MINUTE分钟
SECOND秒钟
MILLISECOND亳秒
HOUR_OF_DAY以24小时为周期的小时
DAY_OF_WEEK-星期的第几天,返回值范围1-7,星期日为第1天,星期一为第2天,以此类推
DAY_OF_MONTH-个月中的第几天,从1开始
DAY_OF_YEAR-年中的第几天
WEEK_OF_MONTH-月中第几个星期
WEEK OF YEAR-年中第几个星期
Calendar calendar = Calendar.getInstance();

        System.out.println(calendar.get(Calendar.YEAR));//2022
        System.out.println(calendar.get(Calendar.DATE));//10(10号)
        System.out.println(calendar.get(Calendar.HOUR));//10(12小时为周期)
        System.out.println(calendar.get(Calendar.MINUTE));//41(分钟)
        System.out.println(calendar.get(Calendar.SECOND));//26(秒)
        System.out.println(calendar.get(Calendar.MILLISECOND));//356毫秒(指的是当前时间的毫秒数)
        System.out.println(calendar.get(Calendar.HOUR_OF_DAY));//22(24小时为周期)
        System.out.println(calendar.get(Calendar.DAY_OF_WEEK));//6(星期日为1,以此类推)
        System.out.println(calendar.get(Calendar.DAY_OF_MONTH));//10(一个月中的第几天)
        System.out.println(calendar.get(Calendar.DAY_OF_YEAR));//161(一年中的第几天)
        System.out.println(calendar.get(Calendar.WEEK_OF_MONTH));//2(一个月中的第几周)
        System.out.println(calendar.get(Calendar.WEEK_OF_YEAR));//24(一年中的第几周)

二add与roll的区别

roll以日为单位增加,不会超出当前月,以月为单位不会超过当前年,以年为单位增加,会一直累加

  calendar.add(Calendar.DATE,111);//以日为单位,增加111天
        System.out.println(calendar.get(Calendar.DATE));//29(29号)
        System.out.println(calendar.get(Calendar.MONTH));//9(9月)

        calendar.roll(Calendar.DATE,111);
        System.out.println(calendar.get(Calendar.DATE));//1(1号)
        System.out.println(calendar.get(Calendar.MONTH));//5(6月)

三 指定某一时间点

/**设置某一时间点,calendar默认规则为设置哪个,哪个生效,
       没有设置的还是当前时间的数值,例如小时显示23,没有清零,23点则是当前时间的小时*/
calendar.set(1999, 1, 20);
        System.out.println(calendar.get(Calendar.DATE));//20
        System.out.println(calendar.get(Calendar.MONTH));//1
        System.out.println(calendar.get(Calendar.YEAR));//1999

        System.out.println(calendar.get(Calendar.HOUR_OF_DAY));//23


四 样式格式化

将calendar类转化为date再进行格式化

 Date time = calendar.getTime();
        SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd");
        System.out.println(sdf.format(time));//2022-06-10

五 时间的比较

public boolean after(Object when)//是否在某个时间之后

public boolean before(Object when)//是否在某个时间之前

public int compareTo(Calendar anotherCalendar)//与另一个时间相比

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值