参考答案:
GregorianCalendar类简介说明
GregorianCalendar类:
GregorianCalendar是Calendar类的一个具体实现
Calendar中getInstance()方法: 返回一个默认用当前的语言环境和时区初始化的GregorianCalendar对象
GregorianCalendar类中定义了两个字段:AD和BC 他们分别代表公历中定义的两个时代
GregorianGregorianCalendar类中构造方法如下表所示
编号 备注
1 GregorianCalendar()
在具有默认语言环境的默认时区内使用当前时间构造一个默认的 GregorianCalendar。
2 GregorianCalendar(int year, int month, int date)
在具有默认语言环境的默认时区内构造一个带有给定日期设置的 GregorianCalendar
3 GregorianCalendar(int year, int month, int date, int hour, int minute)
为具有默认语言环境的默认时区构造一个具有给定日期和时间设置的 GregorianCalendar。
4 GregorianCalendar(int year, int month, int date, int hour, int minute, int second)
为具有默认语言环境的默认时区构造一个具有给定日期和时间设置的 GregorianCalendar。
5 GregorianCalendar(Locale aLocale)
在具有给定语言环境的默认时区内构造一个基于当前时间的 GregorianCalendar。
6 GregorianCalendar(TimeZone zone)
在具有默认语言环境的给定时区内构造一个基于当前时间的 GregorianCalendar。
7 GregorianCalendar(TimeZone zone, Locale aLocale)
在具有给定语言环境的给定时区内构造一个基于当前时间的 GregorianCalendar。
GregorianCalendar类中常用的方法列表
序号 方法和说明
1 void add(int field, int amount)
根据日历规则,将指定的(有符号的)时间量添加到给定的日历字段中。
2 protected void computeFields()
转换UTC毫秒值为时间域值
3 protected void computeTime()
覆盖Calendar ,转换时间域值为UTC毫秒值
4 boolean equals(Object obj)
比较此 GregorianCalendar 与指定的 Object。
5 int get(int field)
获取指定字段的时间值
6 int getActualMaximum(int field)
返回当前日期,给定字段的最大值
7 int getActualMinimum(int field)
返回当前日期,给定字段的最小值
8 int getGreatestMinimum(int field)
返回此 GregorianCalendar 实例给定日历字段的最高的最小值。
9 Date getGregorianChange()
获得格里高利历的更改日期。
10 int getLeastMaximum(int field)
返回此 GregorianCalendar 实例给定日历字段的最低的最大值
11 int getMaximum(int field)
返回此 GregorianCalendar 实例的给定日历字段的最大值。
12 Date getTime()
获取日历当前时间。
13 long getTimeInMillis()
获取用长整型表示的日历的当前时间
14 TimeZone getTimeZone()
获取时区。
15 int getMinimum(int field)
返回给定字段的最小值。
16 int hashCode()
重写hashCode.
17 boolean isLeapYear(int year)
确定给定的年份是否为闰年。
18 void roll(int field, boolean up)
在给定的时间字段上添加或减去(上/下)单个时间单元,不更改更大的字段。
19 void set(int field, int value)
用给定的值设置时间字段。
20 void set(int year, int month, int date)
设置年、月、日的值。
21 void set(int year, int month, int date, int hour, int minute)
设置年、月、日、小时、分钟的值。
22 void set(int year, int month, int date, int hour, int minute, int second)
设置年、月、日、小时、分钟、秒的值。
23 void setGregorianChange(Date date)
设置 GregorianCalendar 的更改日期。
24 void setTime(Date date)
用给定的日期设置Calendar的当前时间。
25 void setTimeInMillis(long millis)
用给定的long型毫秒数设置Calendar的当前时间。
26 void setTimeZone(TimeZone value)
用给定时区值设置当前时区。
27 String toString()
返回代表日历的字符串。
GregorianCalendar类的示例分享
package com.java265;
import java.util.Calendar;
import java.util.GregorianCalendar;
public class testMain {
/*
* java265.com GregorianCalendar类示例分享
*/
public static void main(String[] args) {
String months[] = {
"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
}
;
int year;
// 初始化 Gregorian 日历
GregorianCalendar gcalendar = new GregorianCalendar();
// 显示当前时间和日期的信息
System.out.print("Date: ");
System.out.print(months[gcalendar.get(Calendar.MONTH)]);
System.out.print(" " + gcalendar.get(Calendar.DATE) + " ");
System.out.println(year = gcalendar.get(Calendar.YEAR));
System.out.print("Time: ");
System.out.print(gcalendar.get(Calendar.HOUR) + ":");
System.out.print(gcalendar.get(Calendar.MINUTE) + ":");
System.out.println(gcalendar.get(Calendar.SECOND));
// 测试当前年份是否为闰年
if (gcalendar.isLeapYear(year)) {
System.out.println("当前年份是闰年");
} else {
System.out.println("当前年份不是闰年");
}
}
}