2016-08-02 21 views
0

ここに私の文字列はあります:2016-07-29T17:15:46.838Z
これをMySQL DATETIME(6)列に挿入します。ここで
Joda日付時刻文字列をJava.Sql.TimeStampに変換します。

は、私はを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が" ":15:46.432Z -07-29T17" で不正な形式れます

+0

メソッドを渡している形式が、予想される形式と異なるように見えます。私は特にJavaに精通していませんが、これはもっと適切な 'DateTimeFormat.forPattern(" yyyy-MM-ddTHH:mm:ss.SSSZ ")' _(リテラルTとZ。)_ – Uueerdo

答えて

0

Uueerdoさんのコメントを外しています。以下はトリックでした

DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss.SSSZ") 

ありがとうございます。

関連する問題