Java中的日历函数


java.util.Calendar 类提供了 Java 中的日历函数。它是一个抽象类,提供在特定时间点和一组日历字段(如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等)之间进行转换的方法,以及用于操作日历字段的方法,例如获取下周的日期。

以下是 Java 中的日历函数:

序号方法及描述
1abstract void add(int field, int amount)
此方法根据日历规则,向给定的日历字段添加或减去指定的时间量。
2boolean after(Object when)
此方法返回此 Calendar 是否表示在指定 Object 所表示的时间之后的时间。
3boolean before(Object when)
此方法返回此 Calendar 是否表示在指定 Object 所表示的时间之前的时间。
4void clear()
此方法将此 Calendar 的所有日历字段值和时间值(距纪元时间的毫秒偏移量)设置为未定义。
5void clear(int field)
此方法将给定的日历字段值和此 Calendar 的时间值(距纪元时间的毫秒偏移量)设置为未定义。
6Object clone()
此方法创建并返回此对象的副本。
7int compareTo(Calendar anotherCalendar)
此方法比较两个 Calendar 对象所表示的时间值(距纪元时间的毫秒偏移量)。
8protected void complete()
此方法填充日历字段中任何未设置的字段。
9protected abstract void computeFields()
此方法将当前毫秒时间值 time 转换为 fields[] 中的日历字段值。
10protected abstract void computeTime()
此方法将 fields[] 中的当前日历字段值转换为毫秒时间值 time。
11boolean equals(Object obj)
此方法将此 Calendar 与指定的 Object 进行比较。
12int get(int field)
此方法返回给定日历字段的值。
13int getActualMaximum(int field)
此方法返回给定此 Calendar 的时间值时,指定日历字段可能具有的最大值。
14int getActualMinimum(int field)
此方法返回给定此 Calendar 的时间值时,指定日历字段可能具有的最小值。
15static Locale[] getAvailableLocales()
此方法返回此类的 getInstance 方法可以返回本地化实例的所有区域设置的数组。
16String getDisplayName(int field, int style, Locale locale)
此方法返回以给定样式和区域设置表示的日历字段值的字符串表示形式。
17Map<String,Integer> getDisplayNames(int field, int style, Locale locale)
此方法返回一个 Map,其中包含以给定样式和区域设置表示的日历字段的所有名称及其对应的字段值。
18int getFirstDayOfWeek()
此方法获取一周的第一天是什么;例如,在美国是 SUNDAY,在法国是 MONDAY。
19abstract int getGreatestMinimum(int field)
此方法返回此 Calendar 实例的给定日历字段的最高最小值。
20static Calendar getInstance()
此方法使用默认时区和区域设置获取日历。
21static Calendar getInstance(Locale aLocale)
此方法使用默认时区和指定的区域设置获取日历。
22static Calendar getInstance(TimeZone zone)
此方法使用指定的时区和默认区域设置获取日历。
23static Calendar getInstance(TimeZone zone, Locale aLocale)
此方法使用指定的时区和区域设置获取日历。
24abstract int getLeastMaximum(int field)
此方法返回此 Calendar 实例的给定日历字段的最低最大值。
25abstract int getMaximum(int field)
此方法返回此 Calendar 实例的给定日历字段的最大值。
26int getMinimalDaysInFirstWeek()
此方法获取一年中第一周所需的最小天数;例如,如果第一周定义为包含一年中第一个月的第一天的周,则此方法返回 1。
27abstract int getMinimum(int field)
此方法返回此 Calendar 实例的给定日历字段的最小值。
28Date getTime()
此方法返回一个 Date 对象,该对象表示此 Calendar 的时间值(距纪元时间的毫秒偏移量)。
29long getTimeInMillis()
此方法以毫秒为单位返回此 Calendar 的时间值。
30TimeZone getTimeZone()
此方法获取时区。
31int hashCode()
此方法返回此日历的哈希代码。
32protected int internalGet(int field)
此方法返回给定日历字段的值。
33boolean isLenient()
此方法指示日期/时间解释是否应宽松。
34boolean isSet(int field)
此方法确定给定的日历字段是否已设置值,包括由 get 方法调用触发的内部字段计算已设置值的情况。
35abstract void roll(int field, boolean up)
此方法在给定的时间字段上添加或减去(向上/向下)一个时间单位,而不更改较大的字段。
36void roll(int field, int amount)
此方法将指定(带符号)数量添加到指定的日历字段,而不更改较大的字段。
37void set(int field, int value)
此方法将给定的日历字段设置为给定的值。
38void set(int year, int month, int date)
此方法设置日历字段 YEAR、MONTH 和 DAY_OF_MONTH 的值。
39void set(int year, int month, int date, int hourOfDay, int minute)
此方法设置日历字段 YEAR、MONTH、DAY_OF_MONTH、HOUR_OF_DAY 和 MINUTE 的值。
40void set(int year, int month, int date, int hourOfDay, int minute, int second)
此方法设置 YEAR、MONTH、DAY_OF_MONTH、HOUR、MINUTE 和 SECOND 字段的值。
41void setFirstDayOfWeek(int value)
此方法设置一周的第一天是什么;例如,在美国是 SUNDAY,在法国是 MONDAY。
42void setLenient(boolean lenient)
此方法指定日期/时间解释是否应宽松。
43void setMinimalDaysInFirstWeek(int value)
此方法设置一年中第一周所需的最小天数;例如,如果第一周定义为包含一年中第一个月的第一天的周,则使用 value 调用此方法。
44void setTime(Date date)
此方法使用给定的 Date 设置此 Calendar 的时间。
45void setTimeInMillis(long millis)
此方法使用给定的 long 值设置此 Calendar 的当前时间。
46void setTimeZone(TimeZone value)
此方法使用给定的时区值设置时区。
47String toString()
此方法返回此日历的字符串表示形式。

现在让我们来看一个 equals() 方法的例子。

java.util.Calendar.equals() 方法将此 Calendar 与指定的 Object 进行比较:

示例

import java.util.*;
public class Demo {
   public static void main(String[] args) {
      // create two calendars
      Calendar cal = Calendar.getInstance();
      // specify a date for one of them
      Calendar cal2 = new GregorianCalendar(2011, 04, 29);
      // compare the two calendars.
      boolean b = cal.equals(cal2);
      // print result
      System.out.println("Calendars are equal :" + b);
   }
}

输出

Calendars are equal :false

让我们来看另一个例子,其中我们获取一周的第一天。java.util.Calendar.getFirstDayOfWeek() 方法返回一周的第一天。

示例

import java.util.*;
public class Demo {
   public static void main(String[] args) {
      // create a new calendar
      Calendar cal = Calendar.getInstance();
      // print the first day of the week
      System.out.println("First day is :" + cal.getFirstDayOfWeek());
      int day = cal.getFirstDayOfWeek();
      switch (day) {
         case (1):
            System.out.println("Sunday");
            break;
         case (2):
            System.out.println("Monday");
            break;
         case 3:
            System.out.println("Tuesday");
            break;
         case 4:
            System.out.println("Wednesday");
            break;
         case 5:
            System.out.println("Thrusday");
            break;
         case 6:
            System.out.println("Friday");
            break;
         case 7:
            System.out.println("Saturday");
            break;
      }
   }
}

输出

First day is :1
Sunday

更新于:2019年9月24日

1K+ 浏览量

开启你的职业生涯

完成课程,获得认证

开始学习
广告