2012-07-24 20 views
10

Voglio convertire l'ora corrente in un fuso orario specifico con il tempo di Joda.Tempo Joda - diverso tra i fusi orari

C'è un modo per convertire DateTime time = new DateTime() ad un fuso orario specifico, o forse per ottenere il numero di ore di differenza tra il time.getZone() e un altro DateTimeZone per poi fare time.minusHours o time.plusHours?

risposta

27

Voglio convertire l'ora corrente in un fuso orario specifico con il tempo di Joda.

In realtà non è chiaro se hai già ottenuto l'ora corrente o meno. Se hai già capito, è possibile utilizzare withZone:

DateTime zoned = original.withZone(zone); 

Se siete solo andare a prendere il tempo corrente, utilizzare il appropriate constructor:

DateTime zoned = new DateTime(zone); 

o utilizzare DateTime.now:

DateTime zoned = DateTime.now(zone); 
+0

Grazie Jon. Ho già l'ora corrente, mi dispiace di non essere stato chiaro a riguardo. original.withZone fa il trucco. – Michael

+0

Puoi anche fare "DateTime.now (zone)'? –

+0

@JoshPinter: Sì, andrebbe bene anche io - lo aggiungerò come opzione. –