如何将PAST日期作为日期时间插入MySQL?

时间:2014-06-19 19:15:45

标签: java mysql datetime

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

2 个答案:

答案 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());