Java中的Calendar类(附带实例)
Java 中的 Calendar 是一个抽象类,提供一组方法可以将以毫秒为单位的时间转换成一组有用的分量。
Calendar 没有公共的构造方法,要得到其对象,不能使用构造方法,要调用其静态方法 getInstance(),然后调用相应的对象方法。
Calendar 类的常用方法如下表所示:
【实例】使用一个 Calendar 对象表示当前时间,分别输出不同格式的时间值,然后重新设置该 Calendar 的时间值,输出更新后的时间。
Calendar 没有公共的构造方法,要得到其对象,不能使用构造方法,要调用其静态方法 getInstance(),然后调用相应的对象方法。
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