java中Calendar日历类型常见方法

本文详细介绍了Java中的Calendar类,包括如何创建对象、获取和设置时间、计算日期以及常用方法的示例。展示了如何通过Calendar进行日期时间管理的重要功能。

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

Calendar是Java中常用的时间处理工具之一,它提供了很多日历类型常见方法,下面是一些常用的方法及对应的代码和运行结果。

前言

本文主要介绍了什么是Calendar以及方法介绍和使用。

什么是Calendar

在Java中,Calendar是一个用于处理日期和时间的类。它提供了许多方法来获取和设置日期、时间以及执行日期和时间的计算操作。使用Calendar类,可以执行各种常见的日期和时间操作,如获取当前日期和时间、计算两个日期之间的差异、添加或减去指定数量的年、月、日、小时、分钟等等。

Calendar类是一个抽象类,通过调用其静态方法getInstance()来获取一个Calendar对象的实例。可以使用Calendar对象来获取和设置年、月、日、小时、分钟、秒等日期和时间的具体值。此外,Calendar类还提供了一些方便的方法来执行日期和时间的计算、比较和格式化等操作。

1如何创建 Calendar 日历对象

Calendar 是一个抽象类, 无法通过直接实例化得到对象. 因此, Calendar 提供了一个方法 getInstance,来获得一个Calendar对象, 得到的 Calendar 由当前时间初始化

代码举例

Calendar cal=Calendar.getInstance();//默认当前时间

获取时间

get(int field)通过传入上述的静态属性可以获取对应的年月日星期。

代码举例

Calendar calendar = Calendar.getInstance();
//获取年份
System.out.println("年:"+calendar.get(Calendar.YEAR));
//月份默认从0开始,需要加1
System.out.println("月:"+calendar.get(Calendar.MONTH) + 1);
//获取日期
System.out.println("日:"+calendar.get(Calendar.DAY_OF_MONTH));
//获取小时
System.out.println("时:"+calendar.get(Calendar.HOUR_OF_DAY));
//获取分钟
System.out.println("分:"+calendar.get(Calendar.MINUTE));
//获取秒
System.out.println("秒:"+calendar.get(Calendar.SECOND));
//获取当前时间是星期几,1表示星期天,2表示星期一,以此类推,7表示星期六
System.out.println("星期:"+calendar.get(Calendar.DAY_OF_WEEK));

运行结果:

:2023:11:21:9:20:14
星期:3

设置时间

set(int field , int value)方法通过传入上述的静态属性(第一个参数)来设置对应的值(第二个参数)

一次性设置时间,代码举例

Calendar calendar = Calendar.getInstance();
//一次性设置年月日时分秒
calendar.set(2023,2,5,15,30,50);
System.out.println(calendar.getTime());

运行结果:

Sun Mar 05 15:30:50 CST 2023

单独设置时间,代码举例

Calendar calendar = Calendar.getInstance();
//设置年份
calendar.set(Calendar.YEAR,2023);
//设置月份,由于月份下标从0开始 所以赋值月份要-1
calendar.set(Calendar.MONTH,1);
//设置日期
calendar.set(Calendar.DAY_OF_MONTH,15);
//设置小时
calendar.set(Calendar.HOUR_OF_DAY,23);
//设置分钟
calendar.set(Calendar.MINUTE,59);
//设置秒
calendar.set(Calendar.SECOND,59);
//将星期设置为星期天
calendar.set(Calendar.DAY_OF_WEEK,1);  
System.out.println(calendar.getTime());

运行结果:

Wed Feb 15 23:59:59 CST 2023

计算日期

add()方法接受两个参数,第一个参数是一个整数,表示要添加的日期字段,第二个参数是一个整数,表示要添加的值。

Calendar cal = Calendar.getInstance();//默认当前时间
cal.add(Calendar.YEAR, 1); // 在当前日期上加 1 年
cal.add(Calendar.MONTH, 1); // 在当前日期上加 1 个月
cal.add(Calendar.DAY_OF_MONTH, 1); // 在当前日期上加 1 天
cal.add(Calendar.HOUR_OF_DAY, 1); // 在当前日期上加 1 小时
cal.add(Calendar.MINUTE, 1); // 在当前日期上加 1 分钟
cal.add(Calendar.SECOND, 1); // 在当前日期上加 1 秒
System.out.println(cal.getTime());

运行结果:

Sun Jan 19 17:36:48 CST 2025

总结

Java中的Calendar类是用于表示日历日期和时间的类。下面是一些常见的Calendar类的方法总结:

方法描述
getInstance()获取一个表示当前日期和时间的Calendar对象。
get(int field)获取指定日期字段的值,如年、月、日、小时、分钟、秒等。
set(int field, int value)设置指定日期字段的值。
add(int field, int amount)在指定日期字段上增加或减少指定的值。
getTime()将Calendar对象转换为Date对象。
getTimeInMillis()获取Calendar对象表示的毫秒数。
setTime(Date date)通过给定的Date对象设置Calendar对象的日期和时间。
getActualMaximum(int field)获取指定日期字段的实际最大值。
getActualMinimum(int field)获取指定日期字段的实际最小值。
isLeapYear(int year)判断指定年份是否为闰年。
getFirstDayOfWeek()获取一周的第一天。
setFirstDayOfWeek(int value)设置一周的第一天。

以上仅是Calendar类的一些常用方法,还有其他更详细和复杂的方法可以参考Java官方文档。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值