Wie bekomme ich die britische Sommerzeit-offset (BST) in Java

In Großbritannien, würde ich mag, um den aktuellen offset von UTC/GMT. Derzeit wird der offset von 1 Stunde, aber es scheint keinen Weg zu finden, dieses.

Code

    TimeZone timeZone = TimeZone.getDefault();
    logger.debug("Timezone ID is '" + timeZone.getID() + "'");
    if (timeZone.getID().equals("GMT")) {
        timeZone = TimeZone.getTimeZone("Europe/London");
        logger.debug("New timezone is '" + timeZone.getID() + "'");
    }
    Long eventDateMillis = Long.parseLong(eventDateValue.getKeyValue());
    int timezoneOffset = timeZone.getOffset(eventDateMillis);
    logger.debug("Offset for " + eventDateValue + "(" + eventDateMillis + ") using timezone " + timeZone.getDisplayName() + " is " + timezoneOffset);

gibt die debug-Ausgabe

Wed 2012/09/19 16:38:19.503|Debug|DataManagement|Timezone ID is 'GMT'
Wed 2012/09/19 16:38:19.503|Debug|DataManagement|New timezone is 'GMT'
Wed 2012/09/19 16:38:19.557|Debug|DataManagement|Offset for 18 Sep 2012 09:00(1347958800000) using timezone Greenwich Mean Time is 0

In anderen Worten, timezone 'GMT' ist wieder ein Versatz von null, und ich kann nicht herausfinden, wie legen Sie es auf etwas zurück das richtige offset.

Wenn jemand für ein funktionierendes code-Beispiel für JodaTime, dass tun würde, aber ich möchte wirklich vermeiden, installieren Sie eine eigene Bibliothek nur für das, was sollte ein one-liner.

Die Java-version ist 7.

  • Sie sagen "richtigen offset". Was wäre die richtige offset für die GMT?
  • GMT/UTC sollte 0 sein, was ich will, ist BST, das sollte 1 Stunde im Wert von ms derzeit: timeanddate.com/worldclock/city.html?n=136
  • Hier ist die Ausgabe, die ich bekommen folgenden code: TimeZone timeZone = TimeZone.getTimeZone("Europe/London"); int timezoneOffset = timeZone.getOffset(System.currentTimeMillis()); System.out.println("Offset for timezone " + timeZone.getID() + " is " + timezoneOffset); => Offset for timezone Europe/London is 3600000 das ist ziemlich viel, was Sie erwarten keine ?
InformationsquelleAutor Oliver Kohll | 2012-09-19
Schreibe einen Kommentar