Zeitzonen umrechnen

Status
Nicht offen für weitere Antworten.

ich_wills_wissen

Bekanntes Mitglied
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 :###
 

ich_wills_wissen

Bekanntes Mitglied
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:

Code:
	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:

Code:
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 :(
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben