将Joda日期时间字符串转换为用于INSERT的Java.Sql.TimeStamp

时间:2016-08-02 21:31:04

标签: java mysql datetime

这是我的字符串:2016-07-29T17:15:46.838Z
我想将其插入到MySQL DATETIME(6)列中。

这是我创建的将字符串转换为java.sql.Timestamp

的方法
private java.sql.Timestamp convertToJavaSqlTimeStamp(String p_dateTimeString) {
DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy/MM/dd HH:mm:ss:SSS");
java.sql.Timestamp _timeStamp = new java.sql.Timestamp(formatter.parseDateTime(p_dateTimeString).getMillis());
return _timeStamp;
}



点。

SQL插入逻辑...

PreparedStatement preparedStatement ;
preparedStatement  = _mysqlConn.prepareStatement("INSERT INTO myTable (my_date_time) VALUES (?)");
preparedStatement.setTimestamp(1, convertJodaDateTimeStringToJavaSqlTimeStamp("2016-07-29T17:15:46.838Z"));
preparedStatement.executeUpdate();

错误讯息:格式无效:“2016-07-29T17:15:46.432Z”格式错误为“-07-29T17:15:46.432Z”

1 个答案:

答案 0 :(得分:0)

取消Uueerdo的评论。以下是诀窍

DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss.SSSZ")
先生,谢谢你。