Преобразование из строки в определенный формат даты в формате ЧЧ: мм - PullRequest
3 голосов
/ 09 апреля 2019

У меня есть объект String, в котором хранится текущее системное время в формате ЧЧ: мм. Я должен преобразовать это в объект DATE и поддерживать тот же формат ЧЧ: мм. Как это можно сделать.

Я пытался использовать параметры разбора даты, но каждый раз получал ответ в полном формате дд-мм-гггг ЧЧ: мм: сс и не в необходимом формате ЧЧ: мм.

SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
String getCurrentTime = sdf.format(Calendar.getInstance().getTime());
Date date = sdf1.parse(getCurrentTime);

Ожидаемый результат должен быть результатом даты в формате ЧЧ: мм.

Ответы [ 4 ]

2 голосов
/ 09 апреля 2019

Как уже упоминалось в комментариях, Дата является объектом. Другой способ использования API даты / времени:

LocalTime time = LocalTime.now(); //current time 
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss"); //set format  
System.out.println(time.format(formatter));
1 голос
/ 09 апреля 2019

Вот простой пример решения этой проблемы с использованием API даты и времени java8:

    DateTimeFormatter parser1 = DateTimeFormatter.ofPattern("HH:mm:ss");
    LocalDateTime ldd1 = LocalDateTime.now();
    System.out.println("DateTimeFormatter ldd1 = " + parser1.format(ldd1));
1 голос
/ 09 апреля 2019

Вместо использования Date используйте java.time.LocalTime.Пример:

LocalTime localTime = LocalTime.now();

Этот класс не хранит и представляет дату или часовой пояс.Вы можете использовать методы LocalTime.now() и LocalTime.of() для создания текущего времени и определенного объекта времени соответственно.

Вы можете использовать методы getHour(), getMinute() и getSecond() LocalTimeкласс для получения часов, минут и секунд соответственно.

Вы можете использовать методы plus и minus класса LocalTime, чтобы складывать или вычитать часы, минуты и т. д.

Youможно использовать методы compareTo(), isAfter() и isBefore() класса LocalTime для сравнения объектов LocalTime.

1 голос
/ 09 апреля 2019

Вы ожидаете, что на выходе parse будет объект Date в формате HH:mm, но этого никогда не произойдет, потому что в конечном итоге это будет Date объект.Он будет содержать информацию о дате, месяце, году, времени и т. Д., Т. Е. Он предназначен для хранения информации о дате и времени.

Вы получаете информацию HH:mm, используя метод format, который вы сделали, и он делаетпредоставить вам эту информацию

Если вам нужна только информация о часах и минутах, я предлагаю вам создать новый класс и заполнить его значение на основе вывода format метода

...