首页 > 编程笔记 > Java笔记 阅读:22

Java中的Calendar类(附带实例)

Java 中的 Calendar 是一个抽象类,提供一组方法可以将以毫秒为单位的时间转换成一组有用的分量。

Calendar 没有公共的构造方法,要得到其对象,不能使用构造方法,要调用其静态方法 getInstance(),然后调用相应的对象方法。

Calendar 类的常用方法如下表所示:

表:Calendar 类的常用方法
方法 描述
boolean after(Object calendarObj) 如果调用 Calendar 对象所包含的日期晚于由 calendarObj 指定的日期,则返回 true,否则返回 false
boolean before(Object calendarObj) 如果调用 Calendar 对象所包含的日期早于由 calendarObj 指定的日期,则返回 true,否则返回 false
final int get(int calendarField) 返回调用对象的一个分量的值。该分量由 calendarField 指定。可以被请求的分量示例有 Calendar.YEAR、Calendar.MONTH、Calendar.MINUTE 等
static Calendar getInstance() 对默认的地区和时区返回一个 Calendar 对象

【实例】使用一个 Calendar 对象表示当前时间,分别输出不同格式的时间值,然后重新设置该 Calendar 的时间值,输出更新后的时间。
import java.util.*;

public class CalendarTest {
    public static void main(String[] args) {
        String[] months = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul",
                           "Aug", "Sep", "Oct", "Nov", "Dec"};

        // 获得一个 Calendar 实例,表示当前时间
        Calendar calendar = Calendar.getInstance();
        System.out.print("Date:");
        // 输出当前时间的年月日格式,注意 Calendar.MONTH 的取值为 0 ~ 11
        System.out.print(months[calendar.get(Calendar.MONTH)] + " ");
        System.out.print(calendar.get(Calendar.DATE) + " ");
        System.out.println(calendar.get(Calendar.YEAR));
        System.out.print("Time:");
        // 输出当前时间的时分秒格式
        System.out.print(calendar.get(Calendar.HOUR) + ":");
        System.out.print(calendar.get(Calendar.MINUTE) + ":");
        System.out.println(calendar.get(Calendar.SECOND));
        // 重新设置该 Calendar 的时分秒值
        calendar.set(Calendar.HOUR, 20);
        calendar.set(Calendar.MINUTE, 57);
        calendar.set(Calendar.SECOND, 20);
        System.out.print("Updated time: ");
        // 输出更新后的时分秒格式
        System.out.print(calendar.get(Calendar.HOUR) + ":");
        System.out.print(calendar.get(Calendar.MINUTE) + ":");
        System.out.println(calendar.get(Calendar.SECOND));
    }
}
程序执行结果为:

Date:Apr 17 2025
Time:8:44:1
Updated time: 8:57:20

相关文章