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.
Est-ce que vous parlez de DateTime
de ce Joda Time
? Si oui, ce sera
dateTime.toDate()
Je suppose que vous le convertissez en UTC via Date.getTime (). Et après cela, utilisez un constructeur/setter sur l'autre objet.
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
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();