Unix timestamp -> CString formatieren
-
Hi
Wie kann ich einen Unix timestamp, der als CString vorliegt, so formatieren, dass ein lesbares Zeitformat raus kommt?
Beispiel:
1176285897 -> 11 Apr 2007 10:04:57Weiß jemand wie das funktioniert?
-
Ich würde es mit einem Umweg über COleDateTime oder CTime versuchen.
-
Aha ok. Wie genau würde dieser Umweg aussehen?
-
Also wenn du GANZ viel lange weile hast, dann kannste dir das erreichnen. Die zahl ist ja eigentlich ein Ergebnis aus den Additionen der einzelnen Zeitabschnitte. in PHP gibts dazu nette funktionen, aber für C kenn ich die leider auc nicht
Aber es sollte mit CTime deutlich einfacher gehen. Musste mal nach Googeln oder bei CodeProjekt vorbeischauen
-
Schau dir in der MSDN die Konstruktoren und Member der beiden Klassen an.
Ich habe da auf den ersten Blick nichts mit Unix gesehen, das muss aber nicht heißen, dass es nicht geht.Von C(OleDate)Time nach CString kommst du mit der Format-Funktion des Datumobjektes.

-
time_t theTime = 1176285897; CTime theCTime(theTime); CString strTime = theCTime.Format("%d.%m.%Y %H:%M");allerdings ohne Berücksichtigung von Zeitzone/Sommerzeit.
-
Vielen Dank für deinen Code jencas.
Ich hab daraus jetzt letztendlich folgende Funktion geschrieben:CString UnixTime2CString(time_t UnixTime, LPCTSTR pszFormat) { CTime Time(UnixTime); CString strTime = Time.Format(pszFormat); return strTime; }Erfüllt den Zweck bestens.

Vielen Dank für eure Hilfe!
