【笔记】Java的日历类

前言

Java的日历类(java.util.Calendar)学习笔记
日历类是一个抽象类,封装了对时间的相关操作。
常用的实现格里高利历(阳历)

创建 Calendar 对象

  • 默认创建的日历实例表示当前系统时间

<name_Calendar>:Calendar类型数据名

1
Calendar <name_Calendar> = Calendar.getInstance();

Calendar类型转换为Date类型

<name_Date>:Date类型数据名

1
Date <name_Date> = calendar.getTime();

Date类型转换为Calendar类型

<name_Date>:Date类型数据名

1
<name_Calendar>.setTime(<name_Date>);

设置日期

设置 年

<string>:String类型的值

1
<name_Calendar>.set(Calendar.YEAR, <string>);

设置 月

  • 月从0开始,0表示1月

  • 设置月份为1月

使用内置常量设置

1
<name_Calendar>.set(Calendar.MONTH, Calendar.JANUARY);

使用数字设置

  • 设置月份为1月
1
<name_Calendar>.set(Calendar.MONTH, 0);

设置 日

DATE:月中的天
DAY_OF_MONTH:与DATE一致
DAY_OF_WEEK:周中的天
DAY_OF_YEAR:年中的天
<num>:天数

1
2
3
4
<name_Calendar>.set(Calendar.DATE, <num>);
<name_Calendar>.set(Calendat.DAY_OF_MONTH, <num>);
<name_Calendar>.set(Calendar.DAY_OF_WEEK, <num>);
<name_Calendar>.set(Calendar.DAY_OF_YEAR, <num>);

设置 时分秒

1
2
3
<name_Calendar>.set(Calendar.HOUR, <num>);
<name_Calendar>.set(Calendar.MINUTE, <num>);
<name_Calendar>.set(Calendar.SECOND, <num>);

查看日期

1
<name_Calendar>.getTime();

获取日期

1
2
3
4
5
6
int <name> = <name_Calendar>.get(Calendar.YEAR);
int <name> = <name_Calendar>.get(Calendar.MONTH);
int <name> = <name_Calendar>.get(Calendar.DATE);
int <name> = <name_Calendar>.get(Calendar.HOUR_OF_DAY);
int <name> = <name_Calendar>.get(Calendar.MINUTE);
int <name> = <name_Calendar>.get(Calendar.SECOND);

获取最大值

当前月共有几天

1
int <name> = <name_Calendar>.getActualMaximum(Calendar.DAY_OF_MONTH);

当前年共有几天

1
int <name> = <name_Calendar>.getActualMaximum(Calendar.DAY_OF_YEAR);

时间增量

<num>:正数为增量,负数为减量

1
2
3
4
5
6
<name_Calendar>.add(Calendar.YEAR, <num>);
<name_Calendar>.add(Calendar.MONTH, <num>);
<name_Calendar>.add(Calendar.DATE, <num>);
<name_Calendar>.add(Calendar.HOUR, <num>);
<name_Calendar>.add(Calendar.MINUTE, <num>);
<name_Calendar>.add(Calendar.SECOND, <num>);

完成