将 java.sql.Date 格式的 String 转换为 java.util.date 格式的 String
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/15780995/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Converting a String of java.sql.Date format to a String of java.util.date format
提问by KhAn SaAb
I am trying to convert sql date string to normal date, but I am getting this exception
我正在尝试将 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) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:306) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:380) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188) at 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)
java.text.ParseException:无法解析的日期:“2013-03-11”在 com.ninenexus.simplesignworkflow.Task.getTaskDetails(Task.java:1385) 在 org.apache 的 java.text.DateFormat.parse(Unknown Source)。 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.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:1)在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) 在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) 在 org.apache.catalina.core.StandardokeEngineValve.invoke (StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:380) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243) at 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)
I want like this
我想要这样
From "2013-03-11"
to "11/03/2013"
how can i FIX it?
从"2013-03-11"
到"11/03/2013"
我如何修复它?
回答by Adrian Shum
What you are doing is simply unreasonable.
你的所作所为简直是无理取闹。
First, java.sql.Date is already a java.util.Date.
首先,java.sql.Date 已经是一个 java.util.Date。
Second, java.sql.Date is NOT a SQL date string. Both java.sql.Date and java.util.Date has nothing to do with the format how the date is going to be displayed. i.e. There is no such thing as a Date containing "2013-03-11" while another Date containing "11/03/2013".
其次,java.sql.Date 不是 SQL 日期字符串。java.sql.Date 和 java.util.Date 都与日期的显示格式无关。即没有包含“2013-03-11”的日期而另一个包含“11/03/2013”的日期。
回答by divyabharathi
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
String text = df.format(date);
System.out.println("The date is: " + text);
回答by Rais Alam
Take a help of SimpleDateFormat
class and parse
date string to get Util Date object
.
借助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);
}
}
回答by Ruchira Gayan Ranaweera
Try it in this way:
用这种方式试试:
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));