如何将DateTime转换为Date

25

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

例如:

Date dt = new Date();

现在我想将这个转换为DateTime

另外

DateTime dtim = new DateTime();

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

7个回答

45

你是在谈论Joda Time的DateTime吗?如果是,它会是:

dateTime.toDate()

1
正如skaffman在上面所说的一样。
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

2017年7月5日15:19:23 MDT

由于我的系统时间是MDT


0

转换为日期

dateTime.toDate()

转换为 DateTime

new DateTime(new Date())

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

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

0
最简单的方法是使用内置的toDate()方法,例如:
Date dt = new Date(); 
DateTime datetime = New DateTime(dt);

Date result = dateTime.toDate();

-1

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

Date date = MydateTime.toDate();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接