时间:2021-05-20
平时在浏览一些网站时,有些网站会显示出当前时间,如现在是xx年xx月xx日 xx时xx分xx秒,在实际的开发过程中,也会涉及到日期和时间的计算,Java中提供了一个专门的类Calendar来处理日期与时间。
接下来就讲解下Calendar类的使用场景及使用方法。
1.获取Calendar实例
首先,我们看下Calendar类的定义
public abstract class Calendar implements Serializable, Cloneable, Comparable<Calendar>因为被定义为abstract,所以我们无法通过new来创建Calendar类的实例,不过Calendar类提供了一个类方法getInstance()来返回Calendar的实例。
public static Calendar getInstance(){ return createCalendar(TimeZone.getDefault(), Locale.getDefault(Locale.Category.FORMAT));}由此,获取Calendar实例的代码如下所示:
Calendar calendar = Calendar.getInstance();2.获取当前时间
运行结果:
现在是:2019年2月21日15时36分38秒
注意:月份的下标是从0开始的,即0~11分别代表1~12月
3.设置时间
假设我们现在需要将时间设置为2019-02-21 23:59:59
3.1(一起设置):
Calendar calendar = Calendar.getInstance();calendar.set(2019, Calendar.FEBRUARY, 21, 23, 59, 59);System.out.println(calendar.getTime());3.2(分别设置):
Calendar calendar = Calendar.getInstance();calendar.set(Calendar.YEAR, 2019);calendar.set(Calendar.MONTH, Calendar.FEBRUARY);calendar.set(Calendar.DAY_OF_MONTH, 21);calendar.set(Calendar.HOUR_OF_DAY, 23);calendar.set(Calendar.MINUTE, 59);calendar.set(Calendar.SECOND, 59);System.out.println(calendar.getTime());3.1和3.2的运行结果都如下所示:
Thu Feb 21 23:59:59 CST 2019
4.时间计算
4.1增加秒
我们在3.1的基础上增加1秒,那么时间应该是2019-02-22 00:00:00
public static void main(String[] args) { Calendar calendar = Calendar.getInstance(); calendar.set(2019, Calendar.FEBRUARY, 21, 23, 59, 59); calendar.add(Calendar.SECOND, 1); System.out.println(calendar.getTime());}运行结果:
Fri Feb 22 00:00:00 CST 2019
4.2增加月
首先我们将时间设置为2019-01-31,然后先增加1个月,再增加2个月
Calendar calendar = Calendar.getInstance();calendar.set(2019, Calendar.JANUARY, 31);System.out.println(calendar.getTime());calendar.add(Calendar.MONTH, 1);System.out.println(calendar.getTime());calendar.add(Calendar.MONTH, 2);System.out.println(calendar.getTime());运行结果:
Thu Jan 31 15:58:03 CST 2019
Thu Feb 28 15:58:03 CST 2019
Sun Apr 28 15:58:03 CST 2019
注意事项:当所在的月份没有那个日期时,如2月份没有31号,返回的是所在月的最后一天(2月28号)
5.扩展:获取某月的第一天和最后一天
运行结果:
2019-02-01
2019-02-28
2019-03-01
2019-03-31
6.参考链接
Java中Calendar类的常用方法
Java Calendar类的使用总结
java时间类Date、Calendar及用法
以上所述是小编给大家介绍的Java Calendar类使用总结及使用实例详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了java中Calendar类用法。分享给大家供大家参考,具体如下:java中的Calendar在开发中经常被忽略,这篇博客总结一下这个类,对后面项
微信小程序日历组件calendar详解及实例模版使用:src="../cal/calendar.wxml">is="calendar"data="{{selec
本文实例为大家分享了java利用Calendar类打印日历的具体代码,供大家参考,具体内容如下importjava.util.Calendar;importja
本文实例讲述了JavaBigInteger类,BigDecimal类,Date类,DateFormat类及Calendar类用法。分享给大家供大家参考,具体如下
Calendar类从JDK1.1版本开始,在处理日期和时间时,系统推荐使用Calendar类进行实现。在设计上,Calendar类的功能要比Date类强大很多,