使用SimpleDateFormat来格式化数据

         我们知道,当我们需要存储日期格式的数据的时候,在数据库里面我们都是datetime的是格式,但是在java里面和这个日期格式对应的就是Timestamp对象,所以很多的时候我们需要将页面传递过来的String类型的数据转换为Timestamp对象,便于我们对数据的存取,现在我们就是通过SimpleDateFormat来把页面传递的String数据转化为Timestamp对象,并且通过异常的处理来验证用户的信息是不是合法。

         1.首先新建一个index.jsp页面

            这个页面很简单,就是一个简单地form表单,在表单里面只有一个日期的文本输入框,当然在实际中,日期都是使用选择的形式的。这个文本框传递一个String字符串给我们的testDate这个servlet。

         2.新建一个servlet

           新建一个servlet来处理我们页面传递过来的数据,首先设置放回的字符集的编码,为了能很好地显示用户的提示信息

                   response.setContentType(“text/html;charset=utf-8″);

                  PrintWriter out=response.getWriter();

           接收字符串:String birthday=request.getParameter(“birthday”);

           现在我们开始加工数据,首先使用到SimpleDateFormat对象,语句是:SimpleDateFormat sdf=new SimpleDateFormat(“yyyy-MM-dd”);//指定格式化的格式

           Date对象是其他日期的父类,我们就先得到这个对象,就想你要找某一个人的兄弟,如果这个人的老婆比较多的话,你可能记不得这么多兄弟的名字,但是你可以找个人的老爸,他总该知道吧!~所以代码是:Date bir=sdf.parse(birthday);

          从Date类里面获得想要的Timestamp数据,这样转化就完成了。

      完整代码:index.jsp

          

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>









输入你的生日:


 servlet代码:

package ynu.sanwen.cangzhang;

import java.io.IOException;
import java.io.PrintWriter;
import java.text.ParseException;
import java.text.SimpleDateFormat;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.sun.jmx.snmp.Timestamp;
import java.util.Date;

public class TestDate extends HttpServlet {

private static final long serialVersionUID = 1L;

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
PrintWriter out=response.getWriter();
try {
String birthday=request.getParameter("birthday");
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
Date bir=sdf.parse(birthday);
Timestamp time=new Timestamp(bir.getTime());
out.print("输入的日期是"+time);
} catch (ParseException e) {
out.print("输入的日期格式不正确");
}

}

}

 

效果截图:输入dfgh,截图是

                     输入:2009-10-20

         

共有 15 条评论

Top