Java Calendar类详解(4大常用方法及示例)

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对象,并输出相关的日期和时间字段。

然后:将日期和时间字段分别设置为指定的值,并再次输出设置后的日期和时间。

最后:对日期进行加减运算,并输出加减运算后的日期和时间。

评论交流
    说说你的看法