Как преобразовать Date
в DateTime
и наоборот?
например.
Date dt = new Date();
Теперь я хочу скрыть это до DateTime
.
Кроме
DateTime dtim = new DateTime();
Теперь я хочу преобразовать его в Date.
Как преобразовать Date
в DateTime
и наоборот?
например.
Date dt = new Date();
Теперь я хочу скрыть это до DateTime
.
Кроме
DateTime dtim = new DateTime();
Теперь я хочу преобразовать его в Date.
Является ли это Joda Time
DateTime
, о котором вы говорите? Если это так, это будет
dateTime.toDate()
Если вы хотите конвертировать 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();
Я думаю, вы конвертируете его в UTC через Date.getTime(). И после этого, используйте конструктор/сеттер на другом объекте.
Вы можете легко использовать функцию toDate()
, которая получает время даты как java.util.Date
:
Date date = MydateTime.toDate();
Как скаффман сказал выше
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
Преобразование в date
:
dateTime.toDate()
Преобразовать в DateTime
:
new DateTime(new Date())