Java Calendar类是Java日期的常用实现类,下面重点详解Java Calendar类的方法与示例。
Java Calendar定义
在Java中Calendar类是一个用于操作日期和时间的抽象类,它提供了一组方法来获取、设置和操作日期和时间字段。
Java Calendar方法
1.获取日期和时间字段
Calendar calendar = Calendar.getInstance(); int year = calendar.get(Calendar.YEAR);//年 int month = calendar.get(Calendar.MONTH); // 月份从0开始,0表示一月,11表示十二月 int day = calendar.get(Calendar.DAY_OF_MONTH);//天 int hour = calendar.get(Calendar.HOUR_OF_DAY);//小时 int minute = calendar.get(Calendar.MINUTE);//分钟 int second = calendar.get(Calendar.SECOND);//秒
2.设置日期和时间字段
calendar.set(Calendar.YEAR, 2023); calendar.set(Calendar.MONTH, Calendar.AUGUST); // 月份从0开始,8表示九月 calendar.set(Calendar.DAY_OF_MONTH, 1); calendar.set(Calendar.HOUR_OF_DAY, 12); calendar.set(Calendar.MINUTE, 30); calendar.set(Calendar.SECOND, 0);
3.日期加减运算
calendar.add(Calendar.DAY_OF_MONTH, 5); // 增加5天 calendar.add(Calendar.MONTH, -1); // 减少1个月
4.比较日期
Calendar otherCalendar = Calendar.getInstance();
if (calendar.before(otherCalendar)) {
// calendar日期在otherCalendar日期之前
} else if (calendar.after(otherCalendar)) {
// calendar日期在otherCalendar日期之后
} else if (calendar.equals(otherCalendar)) {
// calendar日期与otherCalendar日期相同
}
Java Calendar示例
以下是一个完整的Java示例,演示了如何使用Calendar类来获取、设置和操作日期和时间字段。
import java.util.Calendar;
public class CalendarExample {
public static void main(String[] args) {
// 获取当前日期和时间的Calendar对象
Calendar calendar = Calendar.getInstance();
// 获取日期和时间字段
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH); // 月份从0开始,0表示一月,11表示十二月
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK); // 返回1表示星期日,2表示星期一,以此类推
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
// 输出当前日期和时间
System.out.println("Current Date and Time:");
System.out.println("Year: " + year);
System.out.println("Month: " + (month + 1)); // 月份从0开始,需要加1
System.out.println("Day of Month: " + dayOfMonth);
System.out.println("Day of Week: " + dayOfWeek);
System.out.println("Hour: " + hour);
System.out.println("Minute: " + minute);
System.out.println("Second: " + second);
// 设置日期和时间字段
calendar.set(Calendar.YEAR, 2023);
calendar.set(Calendar.MONTH, Calendar.AUGUST); // 月份从0开始,8表示九月
calendar.set(Calendar.DAY_OF_MONTH, 1);
calendar.set(Calendar.HOUR_OF_DAY, 12);
calendar.set(Calendar.MINUTE, 30);
calendar.set(Calendar.SECOND, 0);
// 输出设置后的日期和时间
System.out.println("\nSet Date and Time:");
System.out.println("Year: " + calendar.get(Calendar.YEAR));
System.out.println("Month: " + (calendar.get(Calendar.MONTH) + 1)); // 月份从0开始,需要加1
System.out.println("Day of Month: " + calendar.get(Calendar.DAY_OF_MONTH));
System.out.println("Day of Week: " + calendar.get(Calendar.DAY_OF_WEEK));
System.out.println("Hour: " + calendar.get(Calendar.HOUR_OF_DAY));
System.out.println("Minute: " + calendar.get(Calendar.MINUTE));
System.out.println("Second: " + calendar.get(Calendar.SECOND));
// 日期加减运算
calendar.add(Calendar.DAY_OF_MONTH, 5); // 增加5天
calendar.add(Calendar.MONTH, -1); // 减少1个月
// 输出加减运算后的日期和时间
System.out.println("\nDate and Time after Addition/Subtraction:");
System.out.println("Year: " + calendar.get(Calendar.YEAR));
System.out.println("Month: " + (calendar.get(Calendar.MONTH) + 1)); // 月份从0开始,需要加1
System.out.println("Day of Month: " + calendar.get(Calendar.DAY_OF_MONTH));
System.out.println("Day of Week: " + calendar.get(Calendar.DAY_OF_WEEK));
System.out.println("Hour: " + calendar.get(Calendar.HOUR_OF_DAY));
System.out.println("Minute: " + calendar.get(Calendar.MINUTE));
System.out.println("Second: " + calendar.get(Calendar.SECOND));
}
}
首先:获取当前日期和时间的Calendar对象,并输出相关的日期和时间字段。
然后:将日期和时间字段分别设置为指定的值,并再次输出设置后的日期和时间。
最后:对日期进行加减运算,并输出加减运算后的日期和时间。
关于mikechen
mikechen睿哥,10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。