Avatar ·

Wie erhalte ich das aktuelle Datum und die Uhrzeit in C++? (plattformunabhängige Lösung)

Hallo zusammen. Ich bin ein Anfänger in C++-Entwicklung und schreibe eine kleine Konsolenanwendung für Logging. Ich benötige, dass jeder Logeintrag mit einem Zeitstempel beginnt – dem aktuellen Datum und der Uhrzeit im Format "YYYY-MM-DD HH:MM:SS". Das Problem ist, dass ich sowohl unter Windows (in Visual Studio) als auch unter Linux (über SSH) arbeite. Ich habe versucht, `` und die Funktion `GetLocalTime()` zu verwenden, aber der Code lässt sich unter Linux nicht kompilieren. Nach einiger Recherche bin ich auf `time()` und `localtime()` gestoßen, aber sie geben nur die Anzahl der Sekunden seit 1970 aus. Ich habe versucht, `strftime` zu verwenden, bin aber mit den Formatstrings verwirrt und verstehe nicht, wie ich das Ergebnis korrekt in `std::string` speichern kann. Hier ist, was ich bisher habe (funktioniert nur unter Windows): ```cpp #include #include int main() { SYSTEMTIME st; GetLocalTime(&st); std::cout << st.wYear << "-" << st.wMonth << "-" << st.wDay << " " << st.wHour << ":" << st.wMinute << ":" << st.wSecond << std::endl; return 0; } ```