StrtingUtil.java
package com.lh.bean;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import org.apache.taglibs.standard.lang.jstl.parser.ParseException;
public class StringUtil {
// 第一个日期时间
private String dateStr1;
// 第二个日期时间
private String dateStr2;
// 两个日期的差
private int minus;
// 根据第一个日期字符串获得Calendar对象
public int getMinus() {
// 根据第一个日期字符串获得Calendar对象
Calendar c1 = this.getCalendar(dateStr1);
// 根据第二个日期字符串获得Calendar对象
Calendar c2 = this.getCalendar(dateStr2);
// 获得此对象的时间值,以毫秒为单位
long t1 = c1.getTimeInMillis();
// 获得此对象的时间值,以毫秒位单位
long t2 = c2.getTimeInMillis();
// 一天的毫秒:1000毫秒*60秒*60分钟*24小时
long t = 1000 * 60 * 60 * 24;
minus = (int) ((t2 - t1) / t);
return minus;
}
public Calendar getCalendar(String dateStr) {
// 声明一个Date类型的对象
Date date = null;
// 声明格式化日期的对象
SimpleDateFormat format = null;
Calendar calendar = null;
if (dateStr != null) {
// 创建日期的格式化类型
format = new SimpleDateFormat("yyyy-MM-dd");
// 创建一个Calendar类型的对象
calendar = Calendar.getInstance();
// format.parse()方法会抛出异常
// 解析日期字符串,生成Date对象
try {
date = format.parse(dateStr);
// 使用Date对象设置此Calendar对象的时间
calendar.setTime(date);
} catch (java.text.ParseException e) {
e.printStackTrace();
}
}
return calendar;
}
public String getDateStr1() {
return dateStr1;
}
public void setDateStr1(String dateStr1) {
this.dateStr1 = dateStr1;
}
public String getDateStr2() {
return dateStr2;
}
public void setDateStr2(String dateStr2) {
this.dateStr2 = dateStr2;
}
public void setMinus(int minus) {
this.minus = minus;
}
}
index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>My JSP 'index.jsp' starting page</title>
</head>
<body>
<form action="minus.jsp" method="post">
<table>
<tr>
<td align="right">请输入第一个日期:</td>
<td><input type="text" name="datestr1" /><font>格式为:2008-08-08</font>
</td>
</tr>
<tr>
<td align="right">请输入第二个日期:</td>
<td><input type="text" name="datestr2" /><font>格式为:2008-08-08</font>
</td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="提交" />
</td>
</tr>
</table>
</form>
</body>
</html>
minus.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>My JSP 'getminus.jsp' starting page</title>
</head>
<body>
<%
request.setCharacterEncoding("UTF-8");
String dateStr1 = request.getParameter("datestr1");
String dateStr2 = request.getParameter("datestr2");
%>
<!-- 使用usebean动作标签导入javaBean对象 -->
<jsp:useBean id="strBean" class="com.lh.bean.StringUtil"></jsp:useBean>
<!-- 对StringUtil类的属性赋值 -->
<jsp:setProperty property="dateStr1" name="strBean"
value="<%=dateStr1 %>" />
<jsp:setProperty property="dateStr2" name="strBean"
value="<%=dateStr2 %>" />
<table>
<tr>
<td align="right">第一个日期为:</td>
<td>
<!-- 从StringUtil对象中获得属性值 --> <jsp:getProperty property="dateStr1"
name="strBean" /></td>
</tr>
<tr>
<td align="right">第二个日期为:</td>
<td><jsp:getProperty property="dateStr2" name="strBean" /></td>
</tr>
<tr>
<td align="right">两个日期相差的天数为:</td>
<td><jsp:getProperty property="minus" name="strBean" /></td>
</tr>
</table>
</body>
</html>