web-dev-qa-db-fra.com

Comment convertir DateTime en Date

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

Par exemple.

Date dt = new Date();

Maintenant, je veux convertir ceci en DateTime.

Également

DateTime dtim = new DateTime();

Maintenant, je veux le convertir en Date.

18
user93796

Est-ce que vous parlez de DateTime de ce Joda Time? Si oui, ce sera

dateTime.toDate()
38
skaffman

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

0
akarnokd

Comme dit skaffman ci-dessus 

dateTime.toDate() 

devrait faire l'affaire. Mais gardez à l'esprit que si l'objet dateTime avait un fuseau horaire différent de celui de l'utilisateur, dateTime.toDate () renverrait l'objet date dans le fuseau horaire de l'utilisateur. c'est à dire

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

Cela va imprimer

2017-07-05T14: 19: 23.294-07: 00

Mer. Juil. 05 15:19:23 MDT 2017

comme mon heure système est en MDT

0
AJC

Si vous souhaitez convertir un DateTime en Date sans perdre le fuseau horaire, convertissez d'abord DateTime en 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
Thilo