24

我怎样才能转换DateDateTime反之亦然?

例如

Date dt = new Date();

现在我想将其转换为DateTime.

DateTime dtim = new DateTime();

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

4

7 回答 7

44

你说Joda Time的是这个吗?DateTime如果是这样,它将是

dateTime.toDate()
于 2009-06-17T07:37:20.777 回答
1

正如斯卡夫曼上面所说

dateTime.toDate() 

应该做的伎俩。但请记住,如果 dateTime 对象的时区与用户当前时区不同, dateTime.toDate() 将返回用户时区中的日期对象。IE

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

于 2017-07-05T21:23:18.653 回答
0

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

于 2009-06-17T07:34:41.280 回答
0

转换为date

dateTime.toDate()

转换为DateTime

new DateTime(new Date())
于 2017-08-09T15:34:30.560 回答
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();
于 2018-01-03T15:20:17.283 回答
0

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

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

Date result = dateTime.toDate();
于 2020-08-03T13:44:11.447 回答
-1

您可以轻松地使用toDate()获取日期时间的函数java.util.Date

Date date = MydateTime.toDate();
于 2013-06-18T05:31:38.873 回答