Date和Calendar类

本文深入讲解Java中Date、Calendar及SimpleDateFormat类的使用方法,包括日期格式化、解析、设置和计算等关键操作,帮助读者掌握高效处理日期时间的技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开发工具与关键技术:Java、myEclipse
作者:吴晓佩
撰写时间:2019年07月01日

Date(日期类)
Java提供了Date类来处理日期、时间(此处的Date是指java.util包下的Date类),Date对象既包含日期,也包含时间。Date类从JDK1.0起 就开始存在了,因为它历史悠久,不利于国际化,所以它的大部分构造器、方法都已经过时,不再推荐使用了,但如果使用过时的方法程序也不会报错。
Date() 分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)。
Date(long date) 分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元”,即 1970 年 1 月 1 日 00:00:00GMT)以来的指定毫秒数。
如下是Date类的一些常用的方法示例:
在这里插入图片描述
SimpleDateFormat 是一个与语言环境有关的方式来格式化和解析日期的具体类。它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化。
使用SimpleDateFormat类对 Date 和 String 相互转换,代码如下:
在这里插入图片描述
DateFormat与SimpleDateFormat的区别:
1、DateFormat 可以直接使用,但其本身是一个抽象类,可以根据Locate指定的区域得到对应的日期时间格式。
2、SimpleDateFormat 类是DateFormat 类的子类,一般情况下来讲 DateFormat 类很少会直接使用。而都使用SimpleDateFormat 类完成。

Calendar(日历类)
从JDK1.1版本开始,在处理日期和时间时,系统推荐使用Calendar类进行实现。在设计上,Calendar类的功能要比Date类强大很多,而且在实现方式上也比Date类要复杂一些。
Calendar类是一个抽象类,在实际使用时实现特定的子类的对象,创建对象的过程对我们来说是透明的,需要使用getInstance()方法获得一个对象。
Calendar的常用静态类,代码与解析如下示例:
在这里插入图片描述
Calender的常用方法,代码与解析如下示例:
Set 设置时间:将给定的日历字段设置为给定值。该方法有多个重载。
在这里插入图片描述
时间计算
在这里插入图片描述
add(int field, int amount):根据日历的规则,为给定的日历字段添加或减去指定的时间量。
roll(int field, int amount):向指定日历字段添加指定(有符号的)时间量,不更改更大的字段。
注意:
在选择使用这两个方法的时候需要注意:add方法具有联动性,指定的时间相加满位会往前进位;而roll方法在该时间指定的区域添加时间量时只会在该指定的时间区域轮回,不会向前进位,如2019年10月加上3个月正常应该为2020年1月,但是使用roll方法时返回的却是2019年1月。所以计算的话我们大多会选择add方法。

Date 与Calendar小结:
Date
1、使用date日期之前需要导入需要导入包:import java.util.Date;
2、对于文本的格式需要用特定的字母,上面介绍了一些常用的字母,如需了解更多,即可以在api帮助文档查看
3、注意:Date除了具有Date()构造方法,还有Date(long)构造方法,里面放入的是从1970年1月1日开始到现在的毫秒数,另外可以用gettime()方法读取现在到1970的毫秒数;

Calendar
1、 日历,它是日期date的升级版,由于日期date不利于国际化,一般使用calendar;
2、 注意:calendar是一个接口,不可以实例化,使用静态方法getinstance()创建实例使用前需要导入包:import java.util.Calendar;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值