Проблема с преобразованием строки в дату

Я попытался преобразовать String в Date следующим образом в Java:

public static Date dateConv1(String s){
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-ddhh:mm:ss");
        String dateInString = s;
        Date date = new Date();

Он преобразует полдень 12: 00-12: 59 в полночь, т.е. 00: 00-00: 59. Может кто-нибудь сообщить мне, как мне решить эту проблему?

@YCF_L хммм звучит как ответ мне, с соответствующими пояснениями

Eugene 15.05.2018 15:14

@Eugene Я думаю, что ошибаюсь с этим комментарием, плохо, я прочитал вопрос в зеркале :( !! Вопрос все еще недостаточно ясен, OP должен объяснить больше

YCF_L 15.05.2018 15:31

Я рекомендую вам не использовать SimpleDateFormat. Этот класс давно устарел, как и Date, и, как известно, вызывает беспокойство. Сегодня у нас намного лучше java.time, современный API даты и времени Java и его DateTimeFormatter.

Ole V.V. 15.05.2018 22:03
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
3
52
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Измените форматтер:

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

ЧЧ - означает часы

Обратитесь к: https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html и просмотрите все необходимые вам примеры.

Строка неправильно отформатирована. чч означает 1-12 часов. Есть 4 способа форматирования часов (чч, чч, кк, кк). Здесь вы можете прочитать о форматировании: https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-ddhh:mm:ss");

"чч" соответствует формату 12 часов, измените его на

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

Другие вопросы по теме