第一次,比较棘手

来源:互联网 发布:大数据查询引擎 编辑:程序博客网 时间:2024/05/01 23:47

 

 

使用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/>标签;使用方法如下例:

<inputname="birthday" type="text" id="birthday"  value="<fmt:formatDatevalue=
             "${user.birthday}" dateStyle="medium"/>"
onfocus="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;

原创粉丝点击