Konvertieren von String-Zeit in Time_t in C
Beim Arbeiten mit Zeitdaten in C ist es oft notwendig, zwischen Strings und dem Typ time_t zu konvertieren , die die Zeit als ganzzahlige Anzahl von Sekunden seit der Unix-Epoche darstellt. In diesem Artikel werden zwei Fragen im Zusammenhang mit der Zeitkonvertierung und dem Zeitvergleich untersucht.
Konvertieren einer String-Zeit
Angenommen, Sie haben eine String-Variable, time_details, die Zeit im Format „hh“ enthält :mm:ss“, beispielsweise „16:35:12“. Um diese Zeichenfolge in time_t umzuwandeln, können Sie die Funktion std::get_time verwenden:
struct std::tm tm; std::istringstream ss("16:35:12"); ss >> std::get_time(&tm, "%H:%M:%S"); std::time_t time = mktime(&tm);
Hier ist tm eine std::tm-Struktur, die die zerlegten Zeitkomponenten darstellt. std::istringstream wird verwendet, um die Zeitzeichenfolge zu lesen, und mktime konvertiert die tm-Struktur in time_t.
Vergleich zweier Zeitzeichenfolgen
Der Vergleich zweier Zeitzeichenfolgen kann erfolgen nützlich, um den frühesten Zeitpunkt zu bestimmen. Angenommen, Sie haben zwei Zeichenfolgen, curr_time und user_time, die Zeiten als „18:35:21“ und „22:45:31“ darstellen.
Um diese Zeiten zu vergleichen, können Sie sie in std konvertieren: :time_t-Typen mit der gleichen Technik wie oben. Sobald Sie die time_t-Werte haben, können Sie einfach die Standardvergleichsoperatoren (<, <=, >, >=) verwenden, um den frühesten Zeitpunkt zu bestimmen.
Das obige ist der detaillierte Inhalt vonWie kann ich String-Zeiten in time_t konvertieren und String-Zeiten in C vergleichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!