0
Вот моя строка: 2016-07-29T17: 15: 46.838Z
Я хочу вставить это в столбец MySQL DATETIME (6).
Преобразование даты времени Joda в Java.Sql.TimeStamp для INSERT
Вот метод, который я создал, чтобы преобразовать строку в 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 Insert логика ...
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"
Формат, передаваемый вашим методом, отличается от формата, который он ожидает. Я не знаком с Java, в частности, но я подозреваю, что что-то вроде этого было бы более подходящим 'DateTimeFormat.forPattern (« yyyy-MM-ddTHH: mm: ss.SSSZ »)' _ (возможно, некоторые escape-последовательности для буквального T и Z.) _ – Uueerdo