Java 正在尝试使用Servlet设置字符串的最新格式

Java 正在尝试使用Servlet设置字符串的最新格式,java,jsp,servlets,Java,Jsp,Servlets,我从我的Jsp从一个输入中得到一个字符串 <form method=POST action="ResultServlet"> Enter date <input type="datetime" name="StartEvent" > <input type="datetime" name="StopEvent" > <input ty

我从我的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">
当我打印字符串时,我得到了正确的格式,如2015-05-19 15:19:12

我想保持相同的格式,只需将其更改为date而不是string。 但在格式化之后,字符串或日期现在应该是这样的 2015年1月19日星期一15:19:12 CET

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

我一直在阅读oracle的simpledateformatter,想知道用什么字母来获取数字,但似乎不起作用


有人对此有好的解决方案吗?

在数据库中插入格式时,格式是不相关的。您只需要从字符串中获取正确的日期,然后将其插入数据库。从数据库中检索值时,您可以按自己喜欢的方式对其进行格式化

您可以使用以下内容:

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);

我尝试过不同的格式,即使是“yyyy-mm-dd hh:mm:ss”格式,但仍然是相同的输出Mon Jan 19 15:19:12 CET 2015格式并没有神奇地附加到日期变量。事实上,它几乎只包含自新纪元开始以来的毫秒数。如果要格式化,则需要另一个SimpleDataFormat实例来格式化日期。但是,如果您想将其插入数据库中,那么就只需要Date变量了。
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);