中有討論,建議看過第一眼后馬上回顧一下,然后是1天后,1個星期后,1個月后,3個月后,1年后。我的這篇文章,你要馬上回顧一下,從現在算起,再就是明天,然后是1個星期,1個月,3個月,1年后。我們的程序將計算這些日期。 這個程序非常有用的,它將是PIM(PersonalInformationManager個人信息管理器)的一個組成部分,并將確定復習時間。在下面的程序中,getDates()方法對一個返回日期數組(復習日期)的電子軟件很有用。另外,你可以返回單獨的一個日期,使用getFirstDay(),getOneDay(),getOneWeek(),getOnMonth()和getOneYear().當時間范圍超出這個PIM的ReviewDates的計算范圍時ReviewDates類演示了怎樣計算時間段。現在,你可以容易的修改它用來處理你需要的時間段,象圖書館借書,錄影帶租賃和抵押計算。首先,ReviewDates類顯示在下面:
importjava.util.*;
importjava.text.*;
publicclassReviewDates{
privateGregorianCalendarfirstDay,oneDay,oneWeek,oneMonth,oneQuarter,oneYear;
finalintdateArraySize=6;
ReviewDates(GregorianCalendargcDate){
intyear=gcDate.get(GregorianCalendar.YEAR);
intmonth=gcDate.get(GregorianCalendar.MONTH);
intdate=gcDate.get(GregorianCalendar.DATE);
firstDay=newGregorianCalendar(year,month,date);
oneDay=newGregorianCalendar(year,month,date);
oneWeek=newGregorianCalendar(year,month,date);
oneMonth=newGregorianCalendar(year,month,date);
oneQuarter=newGregorianCalendar(year,month,date);
oneYear=newGregorianCalendar(year,month,date);
oneDay.add(GregorianCalendar.DATE,1);
oneWeek.add(GregorianCalendar.DATE,7);
oneMonth.add(GregorianCalendar.MONTH,1);
oneQuarter.add(GregorianCalendar.MONTH,3);
oneYear.add(GregorianCalendar.YEAR,1);
}
ReviewDates(){
this(newGregorianCalendar());
}
publicvoidlistDates(){
DateFormatdf=DateFormat.getDateInstance(DateFormat.LONG);
DatestartDate=firstDay.getTime();
Datedate1=oneDay.getTime();
Datedate2=oneWeek.getTime();
Datedate3=oneMonth.getTime();
Datedate4=oneQuarter.getTime();
Datedate5=oneYear.getTime();
Stringss=df.format(startDate);
Stringss1=df.format(date1);
Stringss2=df.format(date2);
Stringss3=df.format(date3);
Stringss4=df.format(date4);
Stringss5=df.format(date5);
System.out.println("Startdateis"+ss);
System.out.println("Followingreviewdatesare:");
System.out.println(ss1);
System.out.println(ss2);
System.out.println(ss3);
System.out.println(ss4);
System.out.println(ss5);
System.out.println();
}
publicGregorianCalendar[]getDates(){
GregorianCalendar[]memoryDates=newGregorianCalendar[dateArraySize];
memoryDates[0]=firstDay;
memoryDates[1]=oneDay;
memoryDates[2]=oneWeek;
memoryDates[3]=oneMonth;
memoryDates[4]=oneQuarter;
memoryDates[5]=oneYear;
returnmemoryDates;
}
publicGregorianCalendargetFirstDay(){
returnthis.firstDay;
}
publicGregorianCalendargetOneDay(){
returnthis.oneDay;
}
publicGregorianCalendargetOneWeek(){
returnthis.oneWeek;
}
publicGregorianCalendargetOneMonth(){
returnthis.oneMonth;
}
publicGregorianCalendargetOneQuarter(){
returnthis.oneQuarter;
}
publicGregorianCalendargetOneYear(){
returnthis.oneYear;
}
}
下面是使用ReviewDates類列出復習日期的例子程序:
importjava.util.*;
publicclassShowDates{
publicstaticvoidmain(String[]args){
ReviewDatesrd=newReviewDates();
rd.listDates();
GregorianCalendargc=newGregorianCalendar(2001,Calendar.JANUARY,15);
ReviewDatesjan15=newReviewDates(gc);
jan15.listDates();
}
}
總結
這篇文章介紹了關于日期處理的3個重要的類:Date,DateFormat,GregorianCalendar.這些類讓你創建日期,轉換成字符串,和計算日期基本元素。處理Java中的日期問題,這篇文章只是冰山一角。可是,我在這里介紹的類和方法不僅僅是你學習高級技術的跳板,這些類和方法本身就可以處理很多通常的日期相關的任務。