Timestamp in lesbares Datum konvertieren

Post Reply
Message
Author
himero
Posts: 8
Joined: 10. Oct 2006 12:56

Timestamp in lesbares Datum konvertieren

#1 Post by himero »

Hallo!

Ich bräuchte einen Algorithmus und/oder eine Funktion, die es mir ermöglicht einen Zeitstempel (seit 1.1.1900) auf die aktuelle Zeit zu konvertieren.

Hintergrund: Ein NTP-Server gibt mir auf Anfrage den Zeitstempel, der die vergangenen Sekunden seit dem 1.01.1900 00:00 Uhr zurück gibt. Daraus möchte ich nun das aktuelle Datum und die Zeit ausrechnen und mir diese anzeigen lassen.

Vielen Dank für eure Hilfe!

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#2 Post by Janka »

Zuerst die Sekunden bis "epoch" (1.1.1970,00:00) rausrechnen (oder rausprobieren), dann strptime() mit %s als Einleseanweisung. Daraus erhälst du eine struct tm, und die kannst du in strftime() reinstopfen und damit passend formatieren.

$ man strptime
$ man strftime

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

himero
Posts: 8
Joined: 10. Oct 2006 12:56

#3 Post by himero »

Danke - mit den Funktionen hab ich's schon realisiert bekommen.

Ich bräuchte trotzdem noch einen Algorithmus zur Umrechnung, da das Programm auch unter dem Echtzeitbetriebssystem VxWorks laufen muss und dieses mit den Linux/Unix Funktionen nichts anfangen kann.

Weiß jemand zufällig wo ich einen finde bzw. hat irgendwo einen "rumliegen"?

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#4 Post by Janka »

Was hindert dich, in die Quellen von glibc zu gucken? Die GPL? Wenn ja, wirst du es auch mit anderen Lösungen, die dir hier irgendjemand vorschlägt, recht schwer haben. Die Schöpfungshöhe dürfte angesichts der vielen Fallstricke in der Kalenderberechnung doch recht hoch sein.

Und vxWorks ist ja nun wirklich != Linux.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

Post Reply