2009-06-17 12 views
12

Come posso convertire Date in DateTime e viceversa?Come convertire Date Data alla Data

E.g.

Date dt = new Date(); 

Ora voglio per convertire questo per DateTime.

anche

DateTime dtim = new DateTime(); 

Ora voglio convertire in Date.

risposta

0

Immagino che tu lo converta in UTC tramite Date.getTime(). E dopo, usa un costruttore/setter sull'altro oggetto.

34

Si tratta didi DateTime di cui stai parlando? Se è così, sarà

dateTime.toDate() 
0

È possibile utilizzare facilmente la funzione toDate() che ottiene il tempo data come un java.util.Date:

Date date = MydateTime.toDate(); 
0

Come skaffman detto sopra

dateTime.toDate() 

dovrebbe fare il trucco. Tuttavia, tieni presente che se l'oggetto dateTime ha un fuso orario diverso rispetto al fuso orario corrente dell'utente, dateTime.toDate() restituirà l'oggetto data nel fuso orario dell'utente. cioè

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

Questo stamperà

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

Mer 5 luglio 15:19:23 MDT 2017

come il mio sistema ora è in MDT

0

trasformare per date:

dateTime.toDate() 

di trasformare per DateTime:

new DateTime(new Date()) 
+1

Si prega di leggere questo: [risposta] – Y0da

1

Se si desidera convertire un DateTime alla data senza perdere il fuso orario, convertire DateTime Joda LocalDateTime prima.

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