Datum-Formatierung

Top300

Grünschnabel
Habe folgende Zeile in meinem Programm

feed.AppendFormat(_T("%d.%d | %d:%d | "),currentTime.GetDay(),currentTime.GetMonth(),currentTime.GetHour(),currentTime.GetMinute());

Ich möchte genau dieses Format erreichen

zb.. 18.01 | 12:32
oder
zb.. 18.01 | 08:32


leider ergibt sich bei einstelligen zahlen wie der Januar (1) das Problem 18.1 | 12:32

wie kan ich auf einfache weise das problem lösen hättte evtl jemand für mich einen Tipp?

es sollten immer 2 Stellen pro Tag /Monat / Stunde oder Minute erscheinen

Greetz

Toppi
 
Mach

feed.AppendFormat(_T("%02d.%02d | %02d:%02d | "),currentTime.GetDay(),currentTime.GetMonth(),currentTime.GetHour(),currentTime.GetMinute());

Das 02 vor dem d heisst mit 0 auf 2 Stellen auffüllen.
 
Danke für den Tipp :D

jetzt geht alles wunderbar ;)

Gibt es ne site wo diese Formatierungssachen gebündelt stehen ?

Greetz
Toppi
 
Die MSDN erklärt das bei einer der 30 s/f/printf-Varianten genauer.

Verwende sicherheitshalber die snprintf oder wnsprintf, da muss zwar die Grösse des Puffers mit angegeben werden, aber dafür kann man nicht über den Puffer drüber raus schreiben.

In C++ kann man für sowas streams/stringstreams verwenden, allerdings ist die Syntax da Geschmacksache (ich mag sie nicht).
 
Zurück