精彩牛耳,用心缔造
您的位置:主页 > 牛耳资讯中心 > 行业资讯 >

E Java日期处理核心类之Calendar详解

作者:牛耳教育 编辑:陈老师 来源:未知 发布日期:2022年01月16日
信息摘要:
接触过Java的同学应该都知道,Java有很多可以直接拿来使用的工具类,而这些工具类大部分来自于java.util包,有处理字符串的专门类,有从控制台输入的类等,而我们今天主要讨论的是Java中处...

接触过Java的同学应该都知道,Java有很多可以直接拿来使用的工具类,而这些工具类大部分来自于java.util包,有处理字符串的专门类,有从控制台输入的类等,而我们今天主要讨论的是Java中处理日期时间的类,JDK1.1之前我们通常使用java.util.Date这个类来处理日期时间,但是自JDK1.1之后推出了Calendar(日历)这个抽象类来专门用来日期时间,那么我们接下来就来研究研究这个Calendar类.

Calendar 类是一个抽象类,它为特定瞬间与一组诸如YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量.

这是官方API对Calendar的解释,

作为抽象类,他本身不能直接实例化,程序只能创建Calendar子类的实例,Java本身提供了一个CregorianCalendar类,一个代表格里高利日历的子类,它代表了通常所说的公历.

Calendar的用法包括了一下几点:

1)获得年、月、日、周、小时、分钟

get(int field):  参数表示日历字段。如年、月、日等,它被Calendar类的静态常量,用法如下:

获得年:c.get(Calendar.YEAR)

获得月:c.get(Calendar.MONTH)

获得日:c.get(Calendar.DATE)

2)设置年、月、日、周、小时、分钟

set(int field,int value):参数field的取值为Calendar.YEAR、Calendar.MONTH..

3)日期相加减

add(int fields, int amount):参数fields表示日历字段;amount为字段添加的日期或时间量,可以为负数。

将当前年份减1年:c.add(Calendar.YEAR,-1):

将当前天数加2天:c.add(Calendar.DATE,2)

4)将日期转换为Date对象

Date d=c.getTime();

Calendar中一些陷阱,很容易掉下去:

1、Calendar的星期是从周日开始的,常量值为0。

2、Calendar的月份是从一月开始的,常量值为0。

3、Calendar的每个月的第一天值为1。

下面给出一个综合实例看看Calendar类的用法:

牛耳推荐资讯
湖南工程学院计算科学与

湖南工程学院计算科学与

【产教融合育人才校企合作谋发展】湖南工程学院计算科学与电子学院与牛耳科教集团签约共建实习基地...
2022年11月30日
嵌入式学习路线怎么规划

嵌入式学习路线怎么规划

随着人工智能领域的兴起和发展,嵌入式开发技术也随之受到关注。近几年,学习嵌入式开发的学生越来越多,有的选择自学,有的选择去培训班。不管做...
2022年11月30日
Web前端框架有哪些?哪个

Web前端框架有哪些?哪个

Web前端框架是前端开发中一个非常重要的开发工具。功能强大的框架可以让前端人员更加清晰的看见现有代码的结构,也能快速检查一些代码错误,极大的...
2022年11月30日
软件测试培训多少钱?学

软件测试培训多少钱?学

目前市面上软件测试培训的费用大概在0.8-2.3万之间,为什么费用差别会这么大?影响因素有很多,主要是课程内容、上课方式、地理位置等。...
2022年11月28日
为什么要学习软件开发?

为什么要学习软件开发?

随着时代的进步,国家的发达,信息时代的到来,对于软件开发的需求也越来越大了!普遍性的需要,那么什么是软件开发?...
2022年11月25日
 牛耳教育的教学模式是怎

牛耳教育的教学模式是怎

牛耳教育采取独特的“企业化管理”的教学模式,从专业技能、项目能力和职业素质三方面帮助学生全面提升职业竞争力,完善的软件人才培养体系基础上,同时拥有完善的软件人才考...
2022年11月22日

咨询热线

400-0731-162