尝试使用Servlet格式化String到目前为止

时间:2015-05-21 09:19:52

标签: java jsp servlets

我从输入

获取Jsp中的字符串
<form method=POST action="ResultServlet">
                Enter date
                <input type="datetime" name="StartEvent" >
                <input type="datetime" name="StopEvent" >


           <input type="submit" name="PostThis" value="Show" class="f-halfbutton">

我尝试将其格式化或解析为日期,以便将其发送到我的数据库。

String stopDateStr = request.getParameter("StopEvent");
        SimpleDateFormat sdf = new SimpleDateFormat("yyMMddHHmmssZ");
        Date to = new Date();
        try {
            to = sdf.parse(stopDateStr);

        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        System.out.println(from);
        System.out.println(to );

当我打印字符串时,我会得到正确的格式,如2015-05-19 15:19:12

我希望保持相同的格式,只需将其更改为日期而不是字符串。 但在格式化我的字符串或日期后,它应该是现在看起来像这样 1月19日星期一15:19:12 CET 2015

我试着在这里阅读解决方案,但似乎没有什么对我有用。

我已经在simpledateformatter上阅读oracle,知道用什么字母来获取数字,但似乎没有用。

有人为此得到了很好的解决方案吗?

1 个答案:

答案 0 :(得分:1)

将数据库插入数据库时​​格式化无关紧要。您只需要从字符串中获取正确的日期,然后将其插入数据库。从数据库中检索值时,无论如何都可以格式化它...

您可以使用以下内容:

String date = "your_date_formatted";
Date dt= new SimpleDateFormat("date_format").parse(date);
java.sql.Date sqlDate = new java.sql.Date(dt.getTime()); 

Connection con = ...;
PreparedStatement p = con.prepareStatement("insert into table(date_field) values(?))");
p.setDate(1, dt);