如何将DateTime转换为Date

时间:2009-06-17 07:30:09

标签: java datetime jodatime

如何将Date转换为DateTime,反之亦然?

E.g。

Date dt = new Date();

现在我想将其转换为DateTime

另外

DateTime dtim = new DateTime();

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

7 个答案:

答案 0 :(得分:39)

这是Joda Time的{​​{1}}你在说什么?如果是这样,那将是

DateTime

答案 1 :(得分:0)

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

答案 2 :(得分:0)

正如斯卡弗曼上面所说的

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

Wed Jul 05 15:19:23 MDT 2017

因为我的系统时间是MDT

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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

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

Date result = dateTime.toDate();

答案 5 :(得分:-1)

您可以轻松使用toDate()函数,该日期时间为java.util.Date

Date date = MydateTime.toDate();

答案 6 :(得分:-1)

转换为date

dateTime.toDate()

转换为DateTime

new DateTime(new Date())