Analysieren einer lokalen ISO 8601-Zeichenfolge mit Datum und Uhrzeit wie in UTC

In Java muss ich ein Calendar-Objekt aus einem String im folgenden Format erstellen:

yyyy-MM-dd'T'HH:mm:ss

Diese Zeichenfolge wird immer als GMT-Zeit festgelegt. Also hier ist mein Code:

    public static Calendar dateDecode(String dateString) throws ParseException
{
    TimeZone t = TimeZone.getTimeZone("GMT");
    Calendar cal = Calendar.getInstance(t);
    date = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
    Date d = date.parse(dateString);
    cal.setTime(d);
    return cal;
}

Und dann:

Calendar cal = Calendar.getInstance();
    try
    {
        cal = dateDecode("2002-05-30T09:30:10");
    } catch (ParseException e)
    {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    int month =  cal.get(Calendar.MONTH)+1;

Und ich bekomme folgende Ausgabe:

Timezone: GMT+00:00 date: 2002-5-30 time: 7:30:10

Das ist, wie Sie sehen können, falsch, da die angegebene Zeit in GMT und nicht in MEZ angegeben ist. Ich denke, was passiert, ist, dass die angegebene Zeit in MEZ ist (was meine aktuelle Zeitzone ist) und daher die Zeit von MEZ in GMT umrechnet und daher zwei Stunden vom Endergebnis abzieht.

Könnte mir jemand dabei helfen?

Vielen Dank

Btw: Ich möchte JodaTime aus verschiedenen Gründen nicht verwenden.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage