如何将Date
转换为DateTime
,反之亦然?
E.g。
Date dt = new Date();
现在我想将其转换为DateTime
。
另外
DateTime dtim = new DateTime();
现在我想将其转换为日期。
答案 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())