if(sqlData.get(i) != null){
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
java.sql.Timestamp myDate = new java.sql.Timestamp(dateFormat.parse(sqlData.get(i)).getTime());
preparedStatement.setTimestamp(i+1, myDate);
我不确定我做错了什么,我一直在做什么" java.text.ParseException:Unparseable date:"在第3行。
这些是我从数据库中提取出来的日期,并且是过去设置的。
System.out.println(sqlData.get(i));
打印出来:2014-04-19 05:48:22
答案 0 :(得分:3)
java.text.ParseException: Unparseable date
当传递给它的字符串与指定模式的格式不同时,从dateFormat.parse(
抛出。
另请注意,您尚未发布整个异常消息(整行)。它本来是
java.text.ParseException: Unparseable date:2014-04-19 05:48:22
在你的情况下
2014-04-19 05:48:22
的格式不是"yyyy/MM/dd HH:mm:ss"
你的模式字符串应该是
yyyy-MM-dd HH:mm:ss Note the - instead of /
答案 1 :(得分:0)
这是解析日期然后从中创建时间戳的示例。这是测试并且正在运行,因此如果您遇到任何错误,它可能与您拥有的数据有关,而不是代码本身。
String dateString = "1999/10/24 10:24:99";
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date dateObj = dateFormat.parse(dateString);
Timestamp timeStamp = new Timestamp(dateObj.getTime());