Java 如何将DateTime转换为日期

Java 如何将DateTime转换为日期,java,datetime,jodatime,Java,Datetime,Jodatime,如何将日期转换为日期时间,反之亦然 例如 现在我想把它转换成DateTime 也 现在我想将其转换为日期。我想您可以通过Date.getTime()将其转换为UTC。然后,在另一个对象上使用构造函数/设置器。这是您所说的Joda Time的DateTime?如果是这样的话,那就是 dateTime.toDate() 您可以轻松地使用函数,该函数将日期时间作为java.util.date: Date date = MydateTime.toDate(); dateTime.toDate()

如何将日期转换为日期时间,反之亦然

例如

现在我想把它转换成
DateTime


现在我想将其转换为日期。

我想您可以通过Date.getTime()将其转换为UTC。然后,在另一个对象上使用构造函数/设置器。

这是您所说的
Joda Time
DateTime
?如果是这样的话,那就是

dateTime.toDate()
您可以轻松地使用函数,该函数将日期时间作为
java.util.date

Date date = MydateTime.toDate();
dateTime.toDate()

正如斯卡夫曼上面所说的

dateTime.toDate() 
我们应该做到这一点。但请记住,如果dateTime对象的时区与用户的当前时区不同,dateTime.toDate()将返回用户时区中的date对象。 即

这会打印出来

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

2017年7月5日星期三15:19:23


由于我的系统时间在MDT中

转换为日期:

Date date = MydateTime.toDate();
dateTime.toDate()
转换为日期时间:

new DateTime(new Date())

如果要在不丢失时区的情况下将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();

最简单的方法是使用内置的
toDate()
方法,如:

Date dt = new Date(); 
DateTime datetime = New DateTime(dt);

Date result = dateTime.toDate();
Date dt = new Date(); 
DateTime datetime = New DateTime(dt);

Date result = dateTime.toDate();