2015-06-05 4 views
1

У меня есть два экземпляра java.util.Date, которые содержат значение даты и время. теперь я хочу объединить эти значения, чтобы создать одиночный экземпляр java.util.Date, представляющий дату и время.Объединение двух экземпляров даты для создания даты с использованием Joda

здесь несколько примеров, чтобы дать понять, что я хочу:

 Date date = 2015-06-01; 
     Date time = 22:30; 

объединяются в:

 Date dateTime = 2015-06-01 22:30; 

я сделать некоторые поиска, и я нашел этот вопрос Combining java.util.Dates to create a date-time , который похож с моим текущая проблема. Но выбранный ответ на этот вопрос устарел.

+0

Не возможно. У вас не может быть объекта java.util.Date, который является только датой или только временем дня. У j.u.Date всегда есть и то, и другое. Фактически это отсчет миллисекунд с 1970 года в часовом поясе UTC, поэтому на самом деле нет разделения даты и дня дня. –

ответ

4

Вы можете сделать это без Joda, с помощью календаря

Однако, как вы просили о Joda, вот способ сделать в Joda:

// you want the date part from it 
Date d = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").parse("2013-01-02 03:04:05"); 

// you want to time part from it 
Date t = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").parse("2014-02-03 04:05:06"); 


LocalDate datePart = new LocalDate(d); 
LocalTime timePart = new LocalTime(t); 
LocalDateTime dateTime = datePart.toLocalDateTime(timePart); 
Date result = dateTime.toDate(); 

// Or shrink the above 4 lines into one, as follow 
// Date result = new LocalDate(d).toLocalDateTime(new LocalTime(t)).toDate(); 

System.out.println("result " + result); 
// print out result Wed Jan 02 04:05:06 CST 2013 
1

Использовать Календарь вместо этого?

В частности, set(int year, int month, int date, int hourOfDay, int minute) и
если вы хотите Дата, используйте getTime()?

или преобразовать объект Date в объект Calendar с использованием функции setTime(Date ..) из класса Calendar, извлечь значения (день, часы, минута) с помощью функций из класса Calendar?

Смежные вопросы