【发布时间】:2021-04-29 09:03:47
【问题描述】:
我需要将格式为“jan 25,2021”的字符串转换为格式为“2021-01-25”的 java.sql.date。 我尝试使用此代码:
String date = "jan 25,2021";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
java.sql.Date booking_date=null;
try{
java.util.Date util_date = format.parse(date);
booking_date = new Date(util_date.getTime());
}
catch(ParseException e){
System.out.println(e);
}
但总是抛出 ParseException。 哪里错了?
【问题讨论】:
-
我建议你不要使用
java.sql.Date。该课程设计不良且早已过时。而是使用来自java.time, the modern Java date and time API 的LocalDate。见Insert & fetch java.time.LocalDate objects to/from an SQL database such as H2。 -
字符串应该在 UI(或客户端)中标准化为某种标准格式,例如“ISO 格式”
2021-01-25。然后,将其转换为 Date、Timestamp、LocalDate 等就很简单了。