tl; dr
myPreparedStatement.setObject( // In JDBC 4.2 and later, exchange *java.time* objects with your database. Use `PreparedStatement` to avoid SQL Injection attacks.
… , // Specify which `?` placeholder to replace in your SQL statement.
LocalDate.parse( "2019-05-19" ) // Parse your standard ISO 8601 formatted input string as a date-only value represented in the `LocalDate` class.
)
Подробности
"custom_date_1": "2019-05-19",
Ваша входная строкав стандартном формате ISO 8601 .Эти стандартные форматы по умолчанию используются в классах java.time при разборе / генерации строк.Поэтому нет необходимости указывать шаблон форматирования.
LocalDate ld = LocalDate.parse( "2019-05-19" ) ;
Часовой пояс здесь не имеет значения.Так что ваш вопрос довольно запутанный.
Я пытаюсь преобразовать объект JSON в дату и записать его в базу данных.
Начиная с JDBC 4.2 , мы можемобмениваться java.time объектами с базой данных.Ваш столбец в базе данных для этого значения только для даты (без времени суток и без часового пояса) должен относиться к типу, аналогичному стандартному типу SQL DATE
.
myPreparedStatement.setObject( … , ld ) ;
Получить.
LocalDate ld = myResultSet.getObject( … , LocalDate.class ) ;