2013-10-12 17 views
9

Utilizzo la libreria java PrettyTime per una varietà di elaborazione data/ora nella mia app java, come la conversione di date in formato MySQL/stringhe datetime in date java o viceversa.Come convertire oggetti java.util.Date in oggetti di Calendar?

Tuttavia, vedo che date.getYear(), date.getMonth(), ecc., Sono tutti deprecati e dice di utilizzare invece Calendar. Ma PrettyTime restituisce solo i suoi risultati come oggetti Date e non vedo alcun modo per convertire gli oggetti Date in oggetti del calendario.

Nella documentazione per Calendar, l'unica menzione che vedo della Date è il metodo setTime(Date date), ma il nome del metodo è ambigua, e la documentazione non è chiaro su ciò che si chiama questo metodo sarebbe effettivamente fare. Ovviamente non posso semplicemente fare calendar.set(date.getYear(), date.getMonth(), ..) ecc., Poiché questi metodi di Date sono deprecati.

Quindi, come posso convertire un determinato oggetto Date in Calendar?

+1

'calendario Calendario = ...; calendar.setTime (someDateObject); 'semplice come quello –

+0

Oppure ottieni il tempo in millis. –

+1

A quanto pare, voi ragazzi digitate un po 'più velocemente di me. –

risposta

8
Calendar cal = Calendar.getInstance(); 
cal.setTime(date); 

È possibile ottenere il calendario in diverse impostazioni, se lo si desidera.

Si potrebbe anche fare

cal.setTimeInMillis(date.getTime()); 
+2

Grazie, vorrei che il metodo 'setTime' non fosse nominato in modo ambiguo o avesse una documentazione più chiara, quindi non avrei dovuto chiederlo. –

+0

Come raccomandazione generale, se possibile, prova a utilizzare il tempo di Joda. È molto più pulito rispetto all'ora standard di Java. –

+0

@ClickUpvote Ti consiglio di utilizzare invece la libreria [joda time] (http://www.joda.org/joda-time/) o di attendere fino a Java 8 dove l'API Date è stata riprogettata. –

Problemi correlati