第一次,比较棘手

 

 

使用commons-lang处理日期

 

       JDK中提供了日期处理的API,但没有提供更细致和封装,实际应用中往往要自己写日期处理的内,apachecommons-lang项目提供了强大的日期处理方法。

1、格式化日期

java开发的过程中,我们经常会指定日期的输出格式,即日期的格式化:如把当前日期的输出格式指定为××年××月××日 星期×,代码如下:

Date date = new Date();

DateFormatUtils.format(date, "yyyyMMddE")

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 。格式如下(2007723日做例子)

short84-10-9

medium 1984-10-09

long 1984109

full1984109 星期二

 

注意事项:

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;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章