2009-06-17 9 views
12

Comment puis-je convertir Date en DateTime et vice versa?Comment convertir DateTime en Date

E.g.

Date dt = new Date(); 

Maintenant, je veux covert cela DateTime.

également

DateTime dtim = new DateTime(); 

Maintenant, je veux le convertir à ce jour.

Répondre

0

Je suppose que vous le convertissez en UTC via Date.getTime(). Et après cela, utilisez un constructeur/setter sur l'autre objet.

34

Est-ce Joda TimeDateTime dont vous parlez? Dans ce cas, il sera

dateTime.toDate() 
0

Vous pouvez facilement utiliser la fonction toDate() qui obtient le temps de la date comme java.util.Date:

Date date = MydateTime.toDate(); 
0

Comme skaffman dit plus haut

dateTime.toDate() 

devrait faire la tour. Mais gardez à l'esprit que si l'objet dateTime avait un fuseau horaire différent de celui de l'utilisateur, dateTime.toDate() retournera l'objet date dans le fuseau horaire de l'utilisateur. -à-dire

DateTime newDate = new DateTime().toDateTime(DateTimeZone.forID("America/Los_Angeles")); 
System.out.println(newDate); 
System.out.println(newDate.toDate()); 

Ce imprimera

2017-07-05T14: 19: 23,294 à 07: 00

Mer 5 juillet 15:19:23 MDT 2017

que mon système le temps est en MDT

0

Transform à date:

dateTime.toDate() 

Transform à DateTime:

new DateTime(new Date()) 
+1

Veuillez lire ceci: [réponse] – Y0da

1

Si vous voulez convertir un DateTime à ce jour sans perdre le fuseau horaire, convertir DateTime Joda LocalDateTime premier.

DateTime dateTimeUtc = new DateTime(); //because my default timezone is UTC 
DateTime dateTimeBerlin = dateTimeUtc.withZone(DateTimeZone.forID("Europe/Berlin")); 
Date convertedDate = dateTimeBerlin.toLocalDateTime().toDate();