ich wollte die Aktuelle Uhrzeit (inlusive Datum) in einen String speichern und diesen dann testweise ausgeben. Die Form, in der das Datum im String gespeichert wird, sollte so aussehen:
Sun, 06 Nov 1994 08:49:37 GMT
Dazu jetzt mal der folgende Code:
Code: Alles auswählen
string Date;
time_t seconds;
seconds = time(NULL);
string weekday_values[] = {"Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"};
string month_values[] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Ocr", "Nov", "Dec"};
std::tm *datetimeinfo;
datetimeinfo = std::localtime(&seconds);
//Generate a String with the time in the format "Sat, 6 Jan 2009 08:24:56 GMT"
Date += weekday_values[datetimeinfo->tm_wday];
Date += " ";
Date += datetimeinfo->tm_mday;
Date += " ";
Date += month_values[datetimeinfo->tm_mon];
Date += " ";
Date += (1990 + datetimeinfo->tm_year);
Date != " ";
Date += datetimeinfo->tm_hour;
Date += ":";
Date += datetimeinfo->tm_min;
Date += ":";
Date += datetimeinfo->tm_sec;
Date += " GMT";
cout << Date;
Sun ♠ Jun 3♫:▼:♣ GMT
Dies liegt meiner Vermutung nach an den Zeilen wie dieser hier "datetimeinfo->tm_sec" die ihre Werte als int übergeben, und somit das Zeichen mit dem entsprechenden Zahlenwert aus dem ASCII Zeichensatz genommen wird. Wie mach ich dies jetzt so, dass die Zahl richtig angezeigt und in den String geschrieben wird (am besten mit führenden Nullen)?
Eine Möglichkeit wäre die ganzen Zahlen in Array zu speichern, gibt es bessere?
Code: Alles auswählen
string Zahlen[] = {"01", "02", "03", ...};
Mfg.
hackmack