# Zeitzonen umrechnen



## ich_wills_wissen (16. Jun 2006)

Hallo zusammen 

Gibt es eine einfache Möglichkeit ein Calendar-objekt in eine andere Zeitzone umzurechnen ?

Beispiel:

Ich habe ein Calendar-Object A, welches als Zeitzone irgendwas aus dem amerikanischen Raum hat, die Woche
beginnt da glaube ich auch mit einem anderen Tag als bei uns (Sonntag und nicht Montag oder so  ???:L ) und 
es ist eine andere Zeitzone (GMT -8:00, z.B. Pazifik-Normalzeit (USA & Kanada)).

Jetzt will ich dieses CalendarObject in unsere Zeitzone umrechnen, d.h. die Uhrzeit von GMT -8:00 nach +1:00,
evtl. muss DAY_OF_YEAR etc korrigiert werden, denn wenn es z.B. in den USA Montag Abend 22:00 Uhr ist, ist es bei
uns schon Dienstag. Außerdem muss der Tag, mit dem die Woche beginnt umgerechnet werden (
getFirstDayOfWeek() -> Gets what the first day of the week is; e.g., Sunday in US, Monday in France)

Das mit der Pazifik-Zeitzone war jetzt nur ein Beispiel. Das ganze muss auch mit anderen Zeitzonen klappen..

Hat jemand eine Idee wie ich das geschickt hinbekomme ?
Gibt es vielleicht schon irgendwo einen Calendar-Konvertierer, den man sich einfach irgendwo runterladen kann ?


Beste Grüße,

ich_wills_wissen  :###


----------



## byte (16. Jun 2006)

Calendar#setTimeZone()


----------



## ich_wills_wissen (16. Jun 2006)

Hallo byto,

danke für Deine Antwort.

setTimeZone() setzt doch aber nur die TimeZone um, d.h. die Werte von Uhrzeit, Tag etc.
bleiben gleich, oder ? 

Gruß,

ich_wills_wissen



Nachtrag: 


```
public static void main(String[] args)
	{
		Calendar cal = Calendar.getInstance();
		
		System.out.println(cal.toString());
		
		TimeZone tz = TimeZone.getDefault();
		tz.setID("America/Los_Angeles");
	
		cal.setTimeZone(tz);
		System.out.println(cal.toString());
	}
```

gibt auf der Konsole folgendes aus:


```
java.util.GregorianCalendar[time=1150443304443,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Europe/Berlin",offset=3600000,dstSavings=3600000,useDaylight=true,transitions=143,lastRule=java.util.SimpleTimeZone[id=Europe/Berlin,offset=3600000,dstSavings=3600000,useDaylight=true,startYear=0,startMode=2,startMonth=2,startDay=-1,startDayOfWeek=1,startTime=3600000,startTimeMode=2,endMode=2,endMonth=9,endDay=-1,endDayOfWeek=1,endTime=3600000,endTimeMode=2]],firstDayOfWeek=2,minimalDaysInFirstWeek=4,ERA=1,YEAR=2006,MONTH=5,WEEK_OF_YEAR=24,WEEK_OF_MONTH=3,DAY_OF_MONTH=16,DAY_OF_YEAR=167,DAY_OF_WEEK=6,DAY_OF_WEEK_IN_MONTH=3,AM_PM=0,HOUR=9,HOUR_OF_DAY=9,MINUTE=35,SECOND=4,MILLISECOND=443,ZONE_OFFSET=3600000,DST_OFFSET=3600000]
java.util.GregorianCalendar[time=1150443304443,areFieldsSet=false,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="America/Los_Angeles",offset=3600000,dstSavings=3600000,useDaylight=true,transitions=143,lastRule=java.util.SimpleTimeZone[id=America/Los_Angeles,offset=3600000,dstSavings=3600000,useDaylight=true,startYear=0,startMode=2,startMonth=2,startDay=-1,startDayOfWeek=1,startTime=3600000,startTimeMode=2,endMode=2,endMonth=9,endDay=-1,endDayOfWeek=1,endTime=3600000,endTimeMode=2]],firstDayOfWeek=2,minimalDaysInFirstWeek=4,ERA=1,YEAR=2006,MONTH=5,WEEK_OF_YEAR=24,WEEK_OF_MONTH=3,DAY_OF_MONTH=16,DAY_OF_YEAR=167,DAY_OF_WEEK=6,DAY_OF_WEEK_IN_MONTH=3,AM_PM=0,HOUR=9,HOUR_OF_DAY=9,MINUTE=35,SECOND=4,MILLISECOND=443,ZONE_OFFSET=3600000,DST_OFFSET=3600000]
```

Das löst leider nicht mein Problem


----------

