PDA

View Full Version : Zeit in UTC liefern



sannefinger
04-10-07, 14:36
Hallo Forum,
für eine Meldegeschichte benötige ich die Zeit in UTC. Um mir die Arbeit der Umrechnung mit Sommer-/Winterzeit zu sparen, dachte ich mir: klar, nimm doch einfach die Zeit des Systems. Doch wie komme ich in ILE RPG da ran? Kann mir jemand auf die Schnelle helfen?
Vielen Dank im voraus.
Susanne

Fuerchau
04-10-07, 14:46
eval MyTime = %time();

Allerdings solltest du den QUTCOFFSET-Systemwert auslesen und dann diesen Wert addieren:

eval MyTimeStamp = %timestamp() + %hours(UTCHours) + %minutes(UTCMinutes);

B.Hauser
04-10-07, 15:10
... oder einfach mit embedded SQL:



C/EXEC SQL
C+ Set :MyUTC = Current_TimeStamp - Current_TimeZone
C/End-Exec

C/EXEC SQL
C+ Set :MyUTCTime = Current_Time - Current_Timezone
C/End-Exec


Birgitta

sannefinger
05-10-07, 12:20
eval MyTime = %time();

Allerdings solltest du den QUTCOFFSET-Systemwert auslesen und dann diesen Wert addieren:

eval MyTimeStamp = %timestamp() + %hours(UTCHours) + %minutes(UTCMinutes);


Super, hat funktioniert! :) Allerdings müssen wir in Deutschland die Werte subtrahieren, da wir nach UTC liegen.

Fuerchau
05-10-07, 12:38
Stimmt, die Zeit ist generell zu subtrahieren, da im Westen die Zeitverschiebung ja negativ ist.