2

我正在尝试将 sql 日期字符串转换为正常日期,但我收到了这个异常

java.text.ParseException: Unparseable date: "2013-03-11" at java.text.DateFormat.parse(Unknown Source) at com.ninenexus.simplesignworkflow.Task.getTaskDetails(Task.java:1385) at org.apache。 jsp.task_jsp._jspService(task_jsp.java:259) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org .apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:417) 在 org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391) 在 org.apache.jasper.servlet.JspServlet.service(JspServlet .java:334) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:306) 在 org.apache.catalina。core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) 在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) 在 org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:118) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:380) 在 org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243) 在 org.apache。 coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188) 在 org.apache.coyote.http11。Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:166) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:288) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)

我想要这样

"2013-03-11""11/03/2013" 我该如何解决?

4

4 回答 4

3

你的所作所为简直不合理。

首先,java.sql.Date 已经是 java.util.Date。

其次, java.sql.Date 不是 SQL 日期字符串。java.sql.Date 和 java.util.Date 都与日期的显示格式无关。即没有一个包含“2013-03-11”的日期,而另一个包含“11/03/2013”​​的日期。

于 2013-04-03T07:14:22.633 回答
3
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");  
String text = df.format(date);  

System.out.println("The date is: " + text); 
于 2013-04-03T07:14:55.533 回答
1

以这种方式尝试:

DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date date = df.parse("2013-03-11");   // convert string to date
df=new SimpleDateFormat("dd/MM/yyyy");
// date formatted in whatever format you want. 
System.out.println("The date is: " + df.format(date));
于 2013-07-28T05:19:31.213 回答
0

借助SimpleDateFormat类和parse日期字符串来获取Util Date object.

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

    public class DateConverter {

        public static void main(String[] args) throws ParseException {

            String dateString = "03/04/2013";
            Date utiDate;
            SimpleDateFormat dateFormater = new SimpleDateFormat("dd/MM/yyyy");
            utiDate = dateFormater.parse (dateString);
            System.out.println(utiDate);
        }
    }
于 2013-04-03T08:06:32.220 回答