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表示的时间早的时间。
4voidclear()
此方法设置所有未定义的日历字段值和此Calendar的时间值(距纪元的毫秒偏移量)。
5void clear(int field)
此方法设置给定的日历字段值和未定义此Calendar的时间值(距纪元的毫秒偏移量)。
6对象clone()
此方法创建并返回此对象的副本。
7int compareTo(Calendar anotherCalendar)
此方法比较由两个Calendar对象表示的时间值(距纪元的毫秒偏移量)。
8protected voidcomplete()
此方法填充日历字段中所有未设置的字段。
9protected abstract void voidcomputeFields()
此方法将当前毫秒时间值time转换为fields []中的日历字段值。
10受保护的抽象voidcomputeTime()
此方法可将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,其中包含给定样式和语言环境中日历字段的所有名称以及它们对应的字段值。
18岁intgetFirstDayOfWeek()
此方法获取一周中第一天的内容;例如,美国的SUNDAY,法国的MONDAY。
19abstract int getGreatestMinimum(int field)
此方法返回此Calendar实例的给定日历字段的最高最小值。
20静态日历getInstance()
此方法使用默认时区和区域设置获取日历。
21static Calendar getInstance(Locale aLocale)
此方法使用默认时区和指定的语言环境获取日历。
22static Calendar getInstance(TimeZone zone)
此方法使用指定的时区和默认语言环境获取日历。
23静态日历getInstance(TimeZone zone,Locale aLocale)
此方法获取具有指定时区和语言环境的日历。
24abstract int getLeastMaximum(int field)
此方法为此Calendar实例的给定日历字段返回最低的最大值。
25abstract int getMaximum(int field)
此方法返回此Calendar实例的给定日历字段的最大值。
26intgetMinimalDaysInFirstWeek()
此方法获取一年中第一周所需的最少天数;例如,如果第一周定义为包含一年中第一个月第一天的一周,则此方法返回1。
27abstract int getMinimum(int field)
此方法返回此Calendar实例的给定日历字段的最小值。
28DategetTime()
此方法返回一个Date对象,该对象表示此Calendar的时间值(距纪元的毫秒偏移量)。
29longgetTimeInMillis()
此方法以毫秒为单位返回此Calendar的时间值。
30TimeZonegetTimeZone()
此方法获取时区。
31inthashCode()
此方法返回此日历的哈希码。
32protected int internalGet(int field)
此方法返回给定日历字段的值。
33布尔值此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年,int月,int日期,int hourOfDay,int分钟)
此方法设置日历字段YEAR,MONTH,DAY_OF_MONTH,HOUR_OF_DAY和MINUTE的值。
40void set(int年,int月,int日期,int hourOfDay,int分钟,int秒)
此方法设置字段YEAR,MONTH,DAY_OF_MONTH,HOUR,MINUTE和SECOND的值。
41setFirstDayOfWeek(int value)
此方法设置星期几。例如,美国的SUNDAY,法国的MONDAY。
42setLenient(boolean lenient)
此方法指定日期/时间解释是否应宽松。
43setMinimalDaysInFirstWeek(int value)
此方法设置一年的第一周所需的最少天数。例如,如果第一周定义为包含一年中第一个月第一天的一周,请使用value调用此方法。
44setTime(Date date)
此方法使用给定的Date设置此Calendar的时间。
45setTimeInMillis(long millis)
此方法从给定的long值设置此Calendar的当前时间。
46setTimeZone(TimeZone value)
此方法使用给定的时区值设置时区。
47StringtoString()
此方法返回此日历的字符串表示形式。

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

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

示例

import java.util.*;
public class Demo {
   public static void main(String[] args) {
      //创建两个日历
      Calendar cal = Calendar.getInstance();
      //指定其中一个的日期
      Calendar cal2 = new GregorianCalendar(2011, 04, 29);
      //比较两个日历。
      boolean b = cal.equals(cal2);
      //打印结果
      System.out.println("日历相等:" + b);
   }
}

输出结果

日历相等:false

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

示例

import java.util.*;
public class Demo {
   public static void main(String[] args) {
      //创建一个新日历
      Calendar cal = Calendar.getInstance();
      //打印一周的第一天
      System.out.println("第一天是:" + 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;
      }
   }
}

输出结果

第一天是:1
Sunday