任何人都可以请我清楚,这个例外意味着什么:
线程“main”中的异常java.text.ParseException:Unparseable date:“06.10.2013 00:00”。
在文件06.10.2013中找到了这样一个无法解析的日期?它一定是06/10/2013吗?当我在阅读文件时将String[]
转换为Timestamp
时,我明白了。但是我在03/10/2013和03.10.2013这样的文件中有两种格式,我必须使用它,而不是这样:
SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm");
String[] temp = line.split(",");
SimpleDateFormat dateFormat = new SimpleDateFormat(
"MM/dd/yyyy HH:mm" );
java.util.Date parsedDate = dateFormat.parse(temp[0]);
java.sql.Timestamp timestamp = new java.sql.Timestamp(
parsedDate.getTime());
for (int i = 1; i < temp.length; i++) {
o.setTimestamp(timestamp);
我在我的档案06.10.2013 15:00:00和06/10/2013 15:00:00
中默认两种格式答案 0 :(得分:1)
在天真地尝试使用您当前的String
解析它之前,对SimpleDateFormat
执行分析:
SimpleDateFormat dateFormat;
//check if the string to parse contains a dot
if (stringContainingTimestamp.contains(".")) {
dateFormat = new SimpleDateFormat("MM.dd.yyyy HH:mm");
} else {
dateFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm");
}
//rest of the code...
另一个选项可能是使用String#replace(char, char)
斜杠替换点字符:
stringContainingTimestamp = stringContainingTimestamp.replace('.', '/');
SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm");
//rest of the code...
选择权在你手中。