如何将jdbc - time DateTime转换为java.util.Date,反之亦然



这是可能的吗?如果是,那么如何将jdbc - time转换为Date,反之亦然?

将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());

DateInstant都与时区无关,所以这里不需要指定。

LocalDateTime/LocalDate/LocalTime转换为Date(反之亦然)是没有意义的,因为这取决于所应用的时区。

使用DateTime,您可以将转换为 Date,而无需指定时区,但是要从Date转换为DateTime,您应该指定时区,否则它将使用系统默认时区。(如果你真的想要那样,我会明确地指定它,以明确这是一个深思熟虑的选择。)

例如:

DateTimeZone zone = DateTimeZone.forID("Europe/London");
Date date = ...;
DateTime dateTime = new DateTime(date.getTime(), zone);

将Java Date转换为Joda Date时间:
要从Date转换为DateTime,需要指定时区。
从java转换。直到Date到Joda日期时间你只需要传递java。

将日期和时区返回到Joda time of Date的构造函数。
java.util.Date date = new java.util.Date(System.currentTimeMillis());
DateTimeZone dtz = DateTimeZone.getDefault();// Gets the default time zone.
DateTime dateTime = new DateTime(date.getTime(), dtz);

将Joda时间转换为Java日期:
对于相反的情况,Joda DateTime有一个方法toDate(),它将返回java。util日期。

DateTime jodaDate = new DateTime();
java.util.Date date = jodaDate.toDate();

更多详情请访问此处

相关内容

  • 没有找到相关文章

最新更新