Datum und Uhrzeit
-
Hi,
folgendes Problem:
Ich hol mir über
COleDateTime zeit = COleDateTime::GetCurrentTime()
das Datum und die Uhrzeit.
Wenn es 16:05 ist, bekomm ich über
int minute = zeit.GetMinute();
den Wert "5" zurück. Ich hätte aber lieber "05".
Da ich den Wert dazu benötige um einen Ordner mit aktuellem Datum und Uhrzeit zu erstellen, mach ich´s im Moment so:
CString null = "0"; if (minute < 10) { tmpMinute.Format("%d", minute); tmpMinute = null + tmpMinute; } else tmpMinute.Format("%d", minute);
Und das ganze für mm, tt, h und sec.
Gibt´s keine "elegantere" Lösung?
Gruss Sven
-
Das geht über den Format-String.
-
%02d statt %d
-
printf Formatierungszeichen:
http://home.fhtw-berlin.de/~junghans/cref/FUNCTIONS/format.html
-
Geht noch viel einfacher:
COleDateTime Time = COleDateTime::GetCurrentTime(); CString strTime = Time.Format("%M"); // in strTime steht dann 00 bis 59 // Kann man dann auch für folgendes verwenden: strTime = Time.Format("%H:%M:%S");
Grüssli
-
Danke Funktioniert!
Gibt´s irgendwo eine gute Beschreibung zu "Format" ich hangel mich da immer irgendwie durch, nur verstanden hab ich´s bis heut noch nicht.
Und so schwer kann´s nicht sein.Gruss Sven
-
schau dir in der MSDN CTime::Format oder COleDateTime::Format an. Dort wirst du weiterverwiesen auf strftime und dort findest du eine Liste mit allen verwendbaren Ausdrücke, welche du in diesem speziellen Format verwenden kannst. Oder wo liegt das Problem? Bzw. was verstehst du nicht?
Grüssli
-
Danke!
Nach sowas hab ich gesucht.
-
CTime::Format oder COleDateTime::Format ist nicht schlecht, aber eben beschränkt, daher sollte man auch allgemeine Methoden kennen.
-
Erhard Henkes schrieb:
CTime::Format oder COleDateTime::Format ist nicht schlecht, aber eben beschränkt, daher sollte man auch allgemeine Methoden kennen.
Und ich dachte wir sind hier im MFC Forum! Wer hier eine Lösung zu einem Problem will, bekommt doch wohl eine Lösung mit Hilfe der MFC. Sonst kann man das Forum ja gleich schliessen und nur noch ein C/C++ Forum anbieten.
Grüssli