Есть ли способ конвертировать дату в формате «YYYY-MM-dd» в «YYYY-MM-dd HH: mm: ss» с помощью Joda?Преобразование даты в DateTime с использованием Joda
Например: "2016-01-21" до "2016-01-21 00:00:00"
Есть ли способ конвертировать дату в формате «YYYY-MM-dd» в «YYYY-MM-dd HH: mm: ss» с помощью Joda?Преобразование даты в DateTime с использованием Joda
Например: "2016-01-21" до "2016-01-21 00:00:00"
Использование DateTimeFormat класса из Joda API. Это поможет вам отформатировать дату до форматирования по вашему выбору. Вы можете просто предоставить желаемый формат, например, в этом случае вы хотите «ГГГГ-ММ-ДД ЧЧ: мм: сс». Код ниже работает с JodaTime 2.0 и выше.
DateTime date = DateTime.parse("2016-01-21", DateTimeFormat.forPattern("YYYY-MM-dd HH:mm:ss"));
Есть две вещи в игре здесь, сначала нужно проанализировать существующую строку в DateTime объекта, который делается с помощью метода parse
, он также позволяет дополнительный аргумент, чтобы преобразовать выход в другое формат. Ниже дается более длинная, но понятная реализация.
DateTime date = DateTime.parse("2016-01-21");
DateTimeFormatter formatter = DateTimeFormat.forPattern("YYYY-MM-dd HH:mm:ss");
date = formatter.parseDateTime(string);
Ваш вопрос не ясен:
Вы хотите просто отформатировать «нечто представляющее дату» в строку с временем «00:00:00»?
Или вы пытаетесь преобразовать «что-то представляющее дату» в «что-то, представляющий дату + время, с течением времени 00:00:00»?
Или вы пытаетесь конвертировать java.util.Date
в Joda org.joda.time.DateTime
, игнорируя исходное время и время, чтобы установить 00:00:00
?
Или вы пытаетесь преобразовать строку даты с форматом «YYYY-MM-dd» в другую строку с датой + временем, с 00:00:00 как время?
Или что-то еще?
В Joda, правильный способ представления даты является LocalDate, и надлежащим образом представлять «дата + время» информации (но не момент времени) является LocalDateTime
. DateTime
представляет собой момент времени. С этим основным пониманием:
Ответ на Q1:
String result = DateTimeFormat.forPattern("YYYY-MM-dd", myLocalDate);
Ответ для Q2:
LocalDateTime result = myLocalDate.toLocalDateTime(LocalTime.MIDNIGHT);
Ответ на Q3:
DateTime result = new DateTime(javaUtilDate).withTimeAtStartOfDay();
Ответ на Q4:
String result = dateString + " 00:00:00";
Вам необходимо по крайней мере найти этот сайт и, возможно, google, и самостоятельно решить проблему, прежде чем задавать вопросы. Пожалуйста, прочитайте [ask]. –