请教大家,怎么把一种格式(如yyyy-mm-dd)的日期变量转换成另外一种格式(如dd-mm-yyyy)的日期变量!
SimpleDateFormat df = new SimpleDateFormat("dd-mm-yyyy");
Date today = new Date();
String day=df.format(today);
用以上方法,好象day的类型只能是String而不能是Date.为什么?
...全文
93615打赏收藏
新手问题!日期格式转换!
请教大家,怎么把一种格式(如yyyy-mm-dd)的日期变量转换成另外一种格式(如dd-mm-yyyy)的日期变量! SimpleDateFormat df = new SimpleDateFormat("dd-mm-yyyy"); Date today = new Date(); String day=df.format(today); 用以上方法,好象day的类型只能是String而不能是Date.为什么?
帮我看一下整个的查询数据库的过程是这样吗:
String sqlString="SELECT * FROM table WHERE date > ?";
Connection con=DriverManager.getConnection("jdbc.odbc.DataSource","admin","password");
PreparedStatement prep = con.prepareStatement(sqlString);
prep.setTimestamp(1, new java.sql.Timestamp(System.currentTimeMillis()));
ResultSet rs=prep.executeQuery(JHSYString);
while(rs.next()){
}
编译结果如下:
java.sql.SQLException: ORA-01008: 并非所有变量都已关联
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java, Compiled Code)
at java.lang.Exception.(Exception.java, Compiled Code)
at java.sql.SQLException.(SQLException.java, Compiled Code)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java, Compiled Code)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java, Compiled Code)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java, Compiled Code)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java, Compiled Code)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteDescribe(TTC7Protocol.java, Compiled Code)
at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java, Compiled Code)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java, Compiled Code)
at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java, Compiled Code)
at _410gz._gzkf._MainMgr._jspService(_MainMgr.java, Compiled Code)
at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java)
at oracle.jsp.app.JspApplication.dispatchRequest(JspApplication.java)
at oracle.jsp.JspServlet.doDispatch(JspServlet.java)
at oracle.jsp.JspServlet.internalService(JspServlet.java, Compiled Code)
at oracle.jsp.JspServlet.service(JspServlet.java)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:588)
at org.apache.jserv.JServConnection.processRequest(JServConnection.java, Compiled Code)
at org.apache.jserv.JServConnection.run(JServConnection.java, Compiled Code)
at java.lang.Thread.run(Thread.java:479)
PreparedStatement prep = conn.prepareStatement("select * from table where date > ?");
prep.setTimestamp(1, new java.sql.Timestamp(System.currentTimeMillis());
SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy");
Date today = new Date();
String today2=df.format(today);
Date day = df.parse(today2);
out.println(today);
out.println(today2);
out.println(day);
以上代码输出的结果为什么是这样的:
Fri Jun 03 10:06:56 CST 2005——today
03-06-2005 ——today2
Fri Jun 03 00:00:00 CST 2005——day
最后一个day是月日年不是日月年和today2的格式不一样了?
因为他就是字符操作啊,
转换成字符串不就行了
java.text.DateFormat dateFormat = new SimpleDateFormat("dd-mm-yyyy");
Date today = new Date();
String day=df.format(today.toString());
Date today2 = dateFormat.parse(day);