使用commons-lang處理日期
JDK中提供了日期處理的API,但沒有提供更細緻和封裝,實際應用中往往要自己寫日期處理的內,apache的commons-lang項目提供了強大的日期處理方法。
1、格式化日期
在java開發的過程中,我們經常會指定日期的輸出格式,即日期的格式化:如把當前日期的輸出格式指定爲××年××月××日 星期×,代碼如下:
Date date = new Date();
DateFormatUtils.format(date, "yyyy年MM月dd日 E");
2、把字符串解析成日期格式
String s = "2008-08-12";
DateUtils.parseDate(s, new String[] { "yyyy-MM-dd" });
3、日期的加減
Date date1 = DateUtils.addDays(date, 2);
date爲指定日期,2爲指定的天數。
同樣,求指定日期N月,N年的方法同上類似,只要把addDays(date,N)函數改爲addMonths(date,N);
4、求兩個指定日期之間時間間隔
Date d1 = DateUtils.parseDate("2008-08-12", new String[] { "yyyy-MM-dd" });
Date d2 = DateUtils.parseDate("2009-05-20", new String[] { "yyyy-MM-dd" });
String date2 = DurationFormatUtils.formatPeriod(d1.getTime(), d2.getTime(), "d");
其中,d1,d2爲指定的日期,”d”代表指定日期之間的天數,如果求指定日期之間的月數只需把”d”改爲”M”,同樣,如果是年則用”y”.
<ftm:formatDate />標籤;使用方法如下例:
<input
name="birthday" type="text" id="birthday" value="<fmt:formatDate
value=
"${user.birthday}" dateStyle="medium"/>"
οnfοcus="calendar();" dataType="Require" msg="請輸入出生日期!"/>
dateStyle共有五個屬性值:default(就是不設置dateStyle屬性) 、 short 、 medium 、 long 和 full 。格式如下(用2007年7月23日做例子):
short:84-10-9
medium :1984-10-09
long :1984年10月9日
full:1984年10月9日 星期二
注意事項:
1、 在lib目錄中加入commons-lang.jar
2、 在對應的Java類中導入以下類
import org.apache.commons.lang.time.DateUtils;
import org.apache.commons.lang.time.DurationFormatUtils;
import org.apache.commons.lang.time.DateFormatUtils;