2016-04-26 7 views
1

Wie konvertiert man die ZoneId zu DateTimeZone? ich habe:Wie konvertiere ich ZoneId zu DateTimeZone in Java

Private Instant logTime; //java.time 
    Private ZoneId timeZoneId; //java.time 

Aber ich brauche und Datetime DateTimeZone (beide org.joda.time) aus dem oben zu bekommen. Ich habe Datetime von Sofort wie =

Private DateTime dateTime ; //org.joda.time 
private DateTimeZone dateTimeZone; //org.joda.time 

LocalDateTime currentTime = new LocalDateTime(logTime); 
dateTime = currentTime.toDateTime(); 

Für dateTimeZone, ich habe:

dateTimeZone = DateTimeZone.forID(timeZoneId.getId()); // getting java.lang.NullPointerException 

Aber immer Fehler. Kann jemand sagen, wie man es richtig macht?

Das gibt mir einen Fehler. Kann jemand erzählen wie ich das umwandeln soll. Ich brauche die aktuelle Zeit für die angegebene zoneId.

+0

Eine 'ZoneId' hat keine Datums-/Uhrzeitinformationen. Meinst du, die aktuelle Zeit in einer bestimmten Zone ID bekommen? – Tunaki

+0

So kann ich die aktuelle Zeit (localTimezone) in einer bestimmten Zone ID bekommen? –

+2

Kannst du deinen Beitrag mit dem, was du hast und was du willst, bearbeiten? Weil es im Moment unklar ist. – Tunaki

Antwort

0

Ich konfrontiert die gleiche Zeitzone Konvertierungsproblem und ich konnte die Konvertierung erreichen, indem Sie @ Basil-Bourbon Antwort auf diesen Beitrag Converting from java.util.TimeZone to org.joda.DateTimeZone mit einem Anruf zu org.joda.time.DateTimeZone#forTimeZone(java.util.TimeZone zone) abzuschließen.

final java.time.ZoneId timeZoneId; 
final org.joda.time.DateTimeZone timeZone = org.joda.time.DateTimeZone.forTimeZone(java.util.TimeZone.getTimeZone(timeZoneId))