ТЛ; др
java.sql.Timestamp
.valueOf( // Class-method parses SQL-style formatted date-time strings.
"2007-11-11 12:13:14"
) // Returns a `Timestamp` object.
.toInstant() // Converts from terrible legacy classes to modern *java.time* class.
java.sql.Timestamp.valueOf
анализирует формат SQL
Если вы можете использовать полные четыре цифры для года, ваша строка ввода 2007-11-11 12:13:14
будет в стандартном формате SQL, если предполагается, что это значение находится в часовом поясе UTC.
Класс java.sql.Timestamp
имеет метод valueOf
для прямого анализа таких строк.
String input = "2007-11-11 12:13:14" ;
java.sql.Timestamp ts = java.sql.Timestamp.valueOf( input ) ;
java.time
В Java 8 и более поздних версиях инфраструктура java.time упрощает проверку результатов. Класс j.s.Timestamp имеет неприятную привычку неявно применять текущую временную метку по умолчанию вашей JVM при генерации строкового представления с помощью метода toString
. Напротив, классы java.time по умолчанию используют стандартные форматы ISO 8601 .
System.out.println( "Output: " + ts.toInstant().toString() );