Java 日历 类与实例

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: 2018
Current Calendar's Day: 28
Current MINUTE: 10
Current 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: 7
Maximum 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: 1
Minimum 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 2018
4 months later: Thu Dec 13 11:10:57 UTC 2018
2 years later: Sun Dec 13 11:10:57 UTC 2020

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程