问题
I have a String
String s = "01 NOVEMBER 2012";
Then I want parse it to sqlDate. And insert it into the database.
Is it possible to parse that string to sqlDate?!?!
Yup, sql date format is "yyyy-mm-dd"
回答1:
Use SimpleDateFormat
to parse String date to java.util.Date
java.util.Date utilDate = new SimpleDateFormat("dd MMM yyyy").parse("01 NOVEMBER 2012");
and then convert it to java.sql.Date using millis
java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());
回答2:
Expanding on Jigar Joshi answer.
This code has been able to handle whatever I've needed.
import java.sql.Date;
import java.text.ParseException;
import java.text.SimpleDateFormat;
Date date1;
Date date2;
Date date3;
//converting string into sql date);
try {
date1 = new java.sql.Date(
((java.util.Date) new SimpleDateFormat("dd MMM yyyy").parse("01 NOVEMBER 2012")).getTime());
date2 = new java.sql.Date(
((java.util.Date)newSimpleDateFormat("dd/MM/yyyy").parse("02/09/2012")).getTime());
date3 = new java.sql.Date(
((java.util.Date) new SimpleDateFormat("ddMMyyyy").parse("03092012")).getTime());
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println("sqlDate test1:" + date1);
System.out.println("sqlDate test2:" + date2);
System.out.println("sqlDate test3:" + date3);
output:
sqlDate test1:2012-11-01
sqlDate test2:2012-09-02
sqlDate test3:2012-09-03
来源:https://stackoverflow.com/questions/12844006/how-to-parse-string-to-java-sql-date