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