struct tm -> Minuten und Sekunden in zwei Ziffern
-
Guten Abend C Freunde,
ich bräuchte mal eure Hilfe, bei der
struct tm
.
Genauer gesagt möchte ich mir aus der struct tm die aktuelle
Uhrzeit und das aktuelle Datum auslesen, soweit so gut, anschließend möchte ich jenes in eine Datei schreiben (.txt). Das klappt auch soweit, nur das bei den Minuten und den Sekunden die '0' weggelassen wird, leuchet mir nicht ganz
ein. Hier mal der Code:
#include <time.h> int Jahr=timeInfo->tm_year + 1900; int Monat=timeInfo->tm_mon + 1; int Tag=timeInfo->tm_mday; int Stunden=timeInfo->tm_hour; int Minuten=timeInfo->tm_min; int Sekunden=timeInfo->tm_sec; FILE *time_log; time_log = fopen("C:\\Log_my_time\\Time.txt", "a"); if(time_log==NULL) { printf("\n\nFehler beim \x99 \bffnen der Log Datei!\n\n"); } fprintf(time_log, "%d.%d.%d um %d:%d:%d\n", Tag, Monat, Jahr, Stunden, Minuten, Sekunden); fclose(time_log);
Hier ein Beispiel, wie es in der Datei aussieht:
11.3.2014 um 18:1:6
Wie bekomme ich das hin das die Minuten und die Sekunden in 2 Ziffern angezeigt werden, also "inklusive 0"?
Sonst weiß man ja nicht ob es jetzt 18:10 Uhr oder 18:01 Uhr war. Kann man das irgendwie erzwingen?Danke schonmal
-
So macht er eine 2 stellige Zahl mit führender 0.
fprintf(time_log, "%d.%d.%d um %02d:%02d:%02d\n", Tag, Monat, Jahr, Stunden, Minuten, Sekunden);
-
Für die formatiert Zeitangabe gibt es extra strftime
-
Danke für die Hilfe, mit
fprintf(time_log, "%d.%d.%d um %02d:%02d:%02d\n", Tag, Monat, Jahr, Stunden, Minuten, Sekunden);
klappt das schon ganz gut, strftime gucke ich mir auch mal an und probier es aus.
Danke nochmals