Java 日历 类与实例

来源:这里教程网 时间:2026-02-17 20:38:00 作者:

Java 日历 类与实例

Java中的日历类是一个抽象类,它提供了在一个特定的时间瞬间和一组日历字段(如月、年、小时)之间转换日期的方法。它继承了Object类并实现了Comparable, Serializable, Cloneable接口。

由于它是一个抽象类,所以我们不能使用构造函数来创建一个实例。相反,我们将不得不使用静态方法Calendar.getInstance()来实例化和实现一个子类。

Calendar.getInstance(): 返回一个基于默认时区的当前时间的Calendar实例,并使用默认区域设置。Calendar.getInstance(TimeZone zone)Calendar.getInstance(Locale aLocale)Calendar.getInstance(TimeZone zone, Locale aLocale)

Java程序来演示getInstance()方法

// Date getTime(): It is used to return a// Date object representing this// Calendar's time value.  import java.util.*;public class Calendar1 {    public static void main(String args[])    {        Calendar c = Calendar.getInstance();        System.out.println("The Current Date is:" + c.getTime());    }}

输出:

The Current Date is:Tue Aug 28 11:10:40 UTC 2018

重要的方法和它们的用途

方法描述
abstract void add(int field, int amount)它用于根据日历的规则,在给定的日历字段中添加或减去指定的时间量。
int get(int field)它用于返回给定的日历字段的值。
abstract int getMaximum(int field)用于返回该日历实例中给定日历字段的最大值。
abstract int getMinimum(int field)用于返回该日历实例中给定日历字段的最小值。
Date getTime()它用于返回一个代表此《日历》时间值的Date对象。

下面的程序说明了上述方法。

程序1 :演示get()方法的Java程序。

// Program to demonstrate get() method// of Calendar class  import java.util.*;public class Calendar2 {    public static void main(String[] args)    {        // creating Calendar object        Calendar calendar = Calendar.getInstance();                  // Demonstrate Calendar's get()method        System.out.println("Current Calendar's Year: " + calendar.get(Calendar.YEAR));        System.out.println("Current Calendar's Day: " + calendar.get(Calendar.DATE));        System.out.println("Current MINUTE: " + calendar.get(Calendar.MINUTE));        System.out.println("Current SECOND: " + calendar.get(Calendar.SECOND));    }}

输出:

Current Calendar's Year: 2018Current Calendar's Day: 28Current MINUTE: 10Current SECOND: 45

程序2 :演示getMaximum()方法的Java程序。

// Program to demonstrate getMaximum() method// of Calendar class  import java.util.*;public class Calendar3 {    public static void main(String[] args)    {        // creating calendar object        Calendar calendar = Calendar.getInstance();              int max = calendar.getMaximum(Calendar.DAY_OF_WEEK);        System.out.println("Maximum number of days in a week: " + max);                  max = calendar.getMaximum(Calendar.WEEK_OF_YEAR);        System.out.println("Maximum number of weeks in a year: " + max);    }}

输出:

Maximum number of days in a week: 7Maximum number of weeks in a year: 53

程序3 :演示getMinimum()方法的Java程序。

// Program to demonstrate getMinimum() method// of Calendar class  import java.util.*;public class Calendar4 {    public static void main(String[] args)    {        // creating calendar object        Calendar calendar = Calendar.getInstance();                  int min = calendar.getMinimum(Calendar.DAY_OF_WEEK);        System.out.println("Minimum number of days in week: " + min);                  min = calendar.getMinimum(Calendar.WEEK_OF_YEAR);        System.out.println("Minimum number of weeks in year: " + min);    }}

输出:

Minimum number of days in week: 1Minimum number of weeks in year: 1

程序4 :演示add()方法的Java程序。

// Program to demonstrate add() method// of Calendar class  import java.util.*;public class Calendar5 {    public static void main(String[] args)    {        // creating calendar object        Calendar calendar = Calendar.getInstance();        calendar.add(Calendar.DATE, -15);        System.out.println("15 days ago: " + calendar.getTime());        calendar.add(Calendar.MONTH, 4);        System.out.println("4 months later: " + calendar.getTime());        calendar.add(Calendar.YEAR, 2);        System.out.println("2 years later: " + calendar.getTime());    }}

输出:

15 days ago: Mon Aug 13 11:10:57 UTC 20184 months later: Thu Dec 13 11:10:57 UTC 20182 years later: Sun Dec 13 11:10:57 UTC 2020

参考资料: https://docs.oracle.com/javase/7/docs/api/java/util/Calendar.html

相关推荐