java关于Calendar的学习总结

序言

在学习使用Calendar时发现对它的使用很困难,一点都不丝滑,查看API文档其中的内容很多讲述的也十分的笼统,其中一些专业说法也很难理解,为此我结合API文档与网上的一些资料,对Calendar的使用做了一些总结。

关于Calendar

  • Calendar是java.util的工具类
  • Calendar是一个抽象类,所以不能直接new,需要使用它的getInstance()
    方法获取它的实现类对象。
  • 通过操作日历字段可完成一些对时间日期有关的操作

Calendar的使用

一、获取Calendar的实现类对象

Calendar是一个抽象类,本身并不能被实例化,但是它有一个名为getInstance()的静态方法,能获取它的实现类对象。具体语法如下

Calendar calendar = Calendar.getInstance();

二、关于Calendar中的字段

首先什么是字段?

根据我查看API文档,得出的理解是,字段是Calendar中定义的一些常量,我们可以利用字段完成我们想要的操作。

关于部分字段的定义如下:

三、获取当前日历类指定时间的相关数据

可以通过calendar的实现类对象调用get()方法来获取对应数据

具体格式如下:

Calendar calendar = Calendar.getInstance();

calendar.get(Canlendar.字段);

如下我总结了一些常用的数据获取操作


        //获取对应日期的年份
        int year = calendar.get(Calendar.YEAR);

        //获取对应日期的月份
        //月份从0开始
        int month = calendar.get(Calendar.MONTH)+1;

        //获取对应日期
        int day = calendar.get(Calendar.DATE);

        //判断当前时间是上午还是下午
        //0为上午,1为下午
        int am_pm = calendar.get(Calendar.AM_PM);

        //获取对应日期的时间 (小时)
        //12小时制,即下午1点显示为1而不是13
        int hours = calendar.get(Calendar.HOUR);

        //获取对应日期的时间  (分钟)
        int minute = calendar.get(Calendar.MINUTE);

        //获取对应日期是该周的第几天
        int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);

        //获取对应日期是该月的第几天
        int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);

        //获取对应日期是该年的第几天
        int dayOfYear = calendar.get(Calendar.DAY_OF_YEAR);

        //获取对应日期是该月的第几周
        int weekOfMonth = calendar.get(Calendar.WEEK_OF_MONTH);

        //获取对应日期是该年的第几周
        int weekOfYear = calendar.get(Calendar.WEEK_OF_YEAR);
        
        //获取当前月份的最大天数
        calendar.getActualMaximum(Calendar.DAY_OF_MONTH);

四、关于Calendar中的常用方法

1)set() 

set方法有许多的重载方法,这里不细讲,主要是讲解它的作用。

首先日历一定会有一个当前时间,获取Calendar实现类对象的时间默认是当前的系统时间。

如果我们要获取其它时间的数据的话,就可以通过set方法更改当前日历的指定时间,获取对应数据,即相当于翻看日历。

2)CompareTo(Calendar otherCalendar)

可通过该方法比较两个Calendar类实现类对象当前指定时间的先后

具体使用如下:

 

calendar时间先于calendar1则返回-1

相等则返回0

后于则返回1

3)getTime()

返回一个Date对象,用于输出时间

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值