Как конвертировать DateTime в Date - PullRequest
19 голосов
/ 17 июня 2009

Как я могу преобразовать Date в DateTime и наоборот?

* 1005 Е.Г. *

Date dt = new Date();

Теперь я хочу преобразовать это в DateTime.

Также

DateTime dtim = new DateTime();

Теперь я хочу преобразовать его в Date.

Ответы [ 6 ]

41 голосов
/ 17 июня 2009

Это Joda Time DateTime, о котором вы говорите? Если так, то это будет

dateTime.toDate()
0 голосов
/ 03 января 2018

Если вы хотите преобразовать DateTime в Date без потери часового пояса, сначала преобразуйте DateTime в Joda LocalDateTime.

DateTime dateTimeUtc = new DateTime(); //because my default timezone is UTC
DateTime dateTimeBerlin = dateTimeUtc.withZone(DateTimeZone.forID("Europe/Berlin"));
Date convertedDate = dateTimeBerlin.toLocalDateTime().toDate();
0 голосов
/ 09 августа 2017

Преобразовать в date:

dateTime.toDate()

Преобразовать в DateTime:

new DateTime(new Date())
0 голосов
/ 06 июля 2017

Как сказал скаффман выше

dateTime.toDate() 

должен сделать свое дело. Но имейте в виду, что если объект dateTime имел часовой пояс, отличный от текущего часового пояса пользователя, dateTime.toDate () вернет объект даты в часовом поясе пользователя. т.е.

DateTime newDate = new DateTime().toDateTime(DateTimeZone.forID("America/Los_Angeles"));
System.out.println(newDate);
System.out.println(newDate.toDate());

Это напечатает

2017-07-05T14: 19: 23.294-07: 00

Ср. 05 июля, 15:19:23 MDT 2017

как мое системное время в MDT

0 голосов
/ 18 июня 2013

Вы можете легко использовать функцию toDate(), которая получает дату в виде java.util.Date:

Date date = MydateTime.toDate();
0 голосов
/ 17 июня 2009

Полагаю, вы конвертируете его в UTC через Date.getTime (). И после этого используйте конструктор / установщик для другого объекта.

...