通过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("当前年份不是闰年"); } } }