通过Date类我们可以创建并格式化一个日期对象,但是如何才能设置和获取日期数据的特定部分呢?----Calendar类
Calendar类是一个抽象类,在实际使用时实现特定的子类的对象,通过getInstance方法创建对象即可。
1、创建一个代表系统当前日期的Calendar对象。
Calendar c = Calendar.getInstance(); //默认是当前日期。
2、创建一个指定日期的Calendar对象。
首先创建一个Calendar对象,然后再设定该对象中的年月日参数来完成。
Calendar cl = Calendar.getInstance();
cl.set(2009,6 - 1,12);//代表2009年6月12日
GregorianCalendar类
Calendar类实现了公历日历,GregorianCalendar是Calendar类的一个具体实现。
Calendar 的getInstance()方法返回一个默认用当前的语言环境和时区初始化的GregorianCalendar对象。GregorianCalendar定义了两个字段:AD和BC。这是代表公历定义的两个时代
package cuiyuee;
import java.util.*; public class GregorianCalendarDemo { public static void main(String[] args) {
// TODO Auto-generated method stub
String months[] = {
"Jan", "Feb", "Mar", "Apr",
"May", "Jun", "Jul", "Aug",
"Sep", "Oct", "Nov", "Dec"}; int year;
//初始化Gregorian日历
//使用当前时间和日期
//默认为本地时间和时区
GregorianCalendar gcalendar = new GregorianCalendar();
System.out.println("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("当前年份不是闰年");
} } }