如何将Joda-Time DateTime转换为java.util.Date,反之亦然?
2022-08-31 13:29:26
要将 Java Date
转换为 Joda DateTime
:-
Date date = new Date();
DateTime dateTime = new DateTime(date);
反之亦然:-
Date dateNew = dateTime.toDate();
如果需要,请使用 :-TimeZone
DateTime dateTimeNew = new DateTime(date.getTime(), timeZone);
Date dateTimeZone = dateTime.toDateTimeAtStartOfDay(timeZone).toDate();
您尚未在Joda Time中指定您感兴趣的类型,但是:
Instant instant = ...;
Date date = instant.toDate();
instant = new Instant(date);
// Or...
instant = new Instant(date.getTime());
两者都与时区无关,因此无需在此处指定。Date
Instant
从 / / 转换为(反之亦然)是没有意义的,因为这取决于所应用的时区。LocalDateTime
LocalDate
LocalTime
Date
您可以使用转换为,而无需指定时区,但要从 转换为,您应该指定时区,否则它将使用系统默认时区。(如果你真的想要这样,我会明确地指定它,以明确这是一个深思熟虑的选择。DateTime
Date
Date
DateTime
例如:
DateTimeZone zone = DateTimeZone.forID("Europe/London");
Date date = ...;
DateTime dateTime = new DateTime(date.getTime(), zone);