# CET-Zeit benutzen



## Kenta1561 (15. Jul 2016)

Hallo,

ich möchte gerne wissen, wie ich statt der Systemzeit die CET-Zeit bekommen kann.
Kann mir da jemand weiterhelfen?

LG
Kenta1561


----------



## Cromewell (15. Jul 2016)

Sry, dafür brauchte man 'ne Lib.

So:
mom. ich bin gerade doofxD


----------



## Kenta1561 (15. Jul 2016)

@Cromewell
Ich habe die DateTime-Klasse irgendwie nicht.

Nachtrag: Oh, ich brauche die Joda-Time-Library. Gibt es auch eine Möglichkeit das auch ohne Lib zu machen?

Nachtrag 2: Ich habe das hier gefunden: http://stackoverflow.com/questions/7670355/convert-date-time-for-given-timezone-java
und die Lösung von Charleston ausprobiert: Eigentlich funktioniert das ganz gut, aber ich verstehe nicht warum es zwei Stunden Unterschied zwischen CET und CEST gibt.

LG
Kenta1561


----------



## VfL_Freak (15. Jul 2016)

Moin,

also DateTime klingt für mich sehr stark nach der Joda-Lib !
http://www.joda.org/joda-time/quickstart.html
http://joda-time.sourceforge.net/apidocs/org/joda/time/DateTime.html

BTW: welche Jave-Version benutzt Du denn??
für Java8: http://docs.oracle.com/javase/8/docs/api/java/text/DateFormat.html

Gruß Klaus


----------



## Kenta1561 (15. Jul 2016)

@VfL_Freak
Hallo,

ich benutze Java 8. Danke für den Link!

Nachtrag: Habe ich gerade ausprobiert, habe irgendwie immer noch zwei Stunden Unterschied zwischen CET und CEST.

(Zwischen CET und CEST liegt doch nur eine Stunde, oder? Oder bin ich gerade auch doof? )

LG
Kenta1561


----------



## Kenta1561 (15. Jul 2016)

Hallo,

hier mein Code:

```
package sample;

import java.text.DateFormat;
import java.util.Calendar;
import java.util.TimeZone;

public class DateTest {

    public static void main(String[] args) {
        //HINWEIS: Output basiert auf 10:00 Uhr Systemzeit am 15.07.2016 in Berlin (CEST (Central European Summer Time) wird momentan benutzt)

        //Mit TimeZone (CET, CEST)
        Calendar calendar = Calendar.getInstance();
        //TimeZone von DateFormat in CET setzen
        df.setTimeZone(TimeZone.getTimeZone("CET"));
        System.out.println("CET: " + df.format(calendar.getTime()));   //OUTPUT: 15.07.2016 10:00:00
        //TimeZone von DateFormat in CEST setzen
        df.setTimeZone(TimeZone.getTimeZone("CEST"));
        System.out.println("CEST: " + df.format(calendar.getTime()));  //OUTPUT: 15.07.2016 08:00:00
    }

}
```

Das Problem:
Aus irgendeinem Grund ist CET auf einmal 10 Uhr, obwohl es eigentlich nach CET 9 Uhr sein sollte.
Dann ist auf einmal CEST auf 8 Uhr gestellt, obwohl es eigentlich 10 Uhr sein sollte.

Was ist hier falsch?

LG
Kenta1561


----------



## Kenta1561 (15. Jul 2016)

NACHTRAG:

Heute bin ich wohl noch nicht ganz wach, ich hätte mich da mehr mit beschäftigen können. Für die, die irgendwann mal das gleiche Problem haben werden, hier die Lösung:
1. CEST gibt es als TimeZone ID garnicht. (zumindest vermute ich das) Als Ergebnis wurde 8 Uhr ausgegeben, weil die TimeZone-Klasse die Zeitzone CEST nicht kennt und als Standart-Wert die UTC-Zeit ausgibt. Dann wird auch klar, warum 8 Uhr ausgegeben wurde.
2. CET wechselt automatisch zwischen der Winter- und der Sommerzeit. Deshalb wurde 10 Uhr ausgegeben, was richtig ist, als ich als TimeZone "CET" eingegeben habe.
3. Ich habe eine Liste der verfügbaren Zeitzonen gefunden, wer sich dafür interessiert: https://garygregory.wordpress.com/2013/06/18/what-are-the-java-timezone-ids/

LG
Kenta1561


----------

