Die Funktion strftime () in C ++ konvertiert das angegebene Datum und die angegebene Uhrzeit von einer bestimmten Kalenderzeit in eine nullterminierte Multibyte-Zeichenfolge gemäß einer Formatzeichenfolge.
Die Funktion strftime () ist in der Header-Datei definiert.
strftime () Prototyp
size_t strftime (char * str, size_t count, const char * format, const tm * time);
Die Funktion strftime () akzeptiert 4 Argumente: str, count, format und time.
Die Datums- und Uhrzeitinformationen, auf die die Uhrzeit zeigt, werden basierend auf dem Wert des Formats in ein nullterminiertes Multibyte-Zeichen konvertiert und in dem Array gespeichert, auf das str zeigt. Es werden höchstens Zählbytes geschrieben.
strftime () Parameter
- str: Zeiger auf das erste Element des Zeichenarrays, um das Ergebnis zu speichern.
- count: Maximale Anzahl der zu schreibenden Bytes.
- Format: Zeiger auf eine nullterminierte Multibyte-Zeichenfolge, die das Format der Konvertierung angibt. Die Formatzeichenfolge besteht aus einem Konvertierungsspezifizierer (beginnend mit% und optional gefolgt von E oder O) und anderen normalen Zeichen.
Die normalen Zeichen einschließlich des abschließenden Nullzeichens werden so wie sie sind in die Ausgabezeichenfolge kopiert. Formatspezifizierer für strftime ()Konvertierungsspezifizierer Beschreibung Verwendete Felder %. Schreibt das Zeichen% n Schreibt ein Zeilenumbruchzeichen t Schreibt ein horizontales Tabulatorzeichen Jahr Y. Schreibt 4 Ziffern des Jahres, zB 2011 tm_year EY Schreibt 4 Ziffern pro Jahr in die alternative Darstellung des Gebietsschemas tm_year y Schreibt die letzten 2 Ziffern des Jahres, Bereich (00, 99) tm_year Oy Schreibt die letzten 2 Ziffern des Jahres in die alternative Darstellung des Gebietsschemas tm_year Ey Schreibt das Jahr als Versatz zum alternativen Kalenderzeitraum des Gebietsschemas% EC (vom Gebietsschema abhängig) tm_year C. Schreibt die ersten 2 Ziffern des Jahres, Bereich (00,99) tm_year EG Schreibt den Namen des Basisjahres (Zeitraum) in die alternative Darstellung des Gebietsschemas. tm_year G Schreibt ein wochenbasiertes Jahr nach ISO 8601, dh das Jahr, das die angegebene Woche enthält. tm_year, tm_wday, tm_yday G Schreibt die letzten 2 Ziffern des wochenbasierten Jahres nach ISO 8601, dh das Jahr, das die angegebene Woche enthält (Bereich (00,99)). tm_year, tm_wday, tm_yday Monat b Schreibt einen abgekürzten Monatsnamen, z. B. Jan. tm_mon h Gleich wie b tm_mon B. Schreibt den vollständigen Monatsnamen, z. B. Januar tm_mon m Schreibt den Monat als Dezimalzahl, Bereich (01,12) tm_mon Om Schreibt den Monat mit dem alternativen numerischen System des Gebietsschemas tm_mon Woche U. Schreibt die Woche des Jahres als Dezimalzahl von 00 bis 53 (Sonntag ist der erste Tag der Woche) tm_year, tm_wday, tm_yday OU Schreibt die Woche des Jahres nach% U unter Verwendung des alternativen numerischen Systems tm_year, tm_wday, tm_yday W. Schreibt die Woche des Jahres als Dezimalzahl von 00 bis 53 (Montag ist der erste Tag der Woche) tm_year, tm_wday, tm_yday OW Schreibt die Woche des Jahres in% W unter Verwendung des alternativen numerischen Systems tm_year, tm_wday, tm_yday V. Schreibt die ISO 8601-Woche des Jahres (Bereich (01,53)). tm_year, tm_wday, tm_yday OV Schreibt die Woche des Jahres in% V unter Verwendung des alternativen numerischen Systems tm_year, tm_wday, tm_yday Tag des Jahres / Monats j Schreibt den Tag des Jahres als Dezimalzahl, Bereich (001,366) tm_yday d Schreibt den Tag des Monats als Dezimalzahl, Bereich (01,31) tm_mday Od Schreibt den Tag des Monats wie in% d unter Verwendung des alternativen numerischen Systems tm_mday e Schreibt den Tag des Monats als Dezimalzahl, Bereich (1,31) tm_mday Oe Schreibt den Tag des Monats wie in% e unter Verwendung des alternativen numerischen Systems tm_mday Wochentag ein Schreibt einen abgekürzten Wochentagsnamen, z. B. Fr (abhängig vom Gebietsschema) tm_wday EIN Schreibt den vollständigen Wochentagsnamen, z. B. Freitag (abhängig vom Gebietsschema) tm_wday w Schreibt den Wochentag als Dezimalzahl, Bereich (0-6) (Sonntag ist 0) tm_wday Ow Schreibt den Wochentag nach% w unter Verwendung des alternativen numerischen Systems tm_wday u Schreibt den Wochentag als Dezimalzahl, wobei Montag 1 ist (ISO 8601-Format), Bereich (1-7) tm_wday Ou Schreibt den Wochentag nach% u unter Verwendung des alternativen numerischen Systems tm_wday Stunde, Minute, Sekunde H. Schreibt Stunde als Dezimalzahl, Bereich (00,23) tm_hour OH Schreibt die Stunde wie in% H unter Verwendung des alternativen numerischen Systems tm_hour ich Schreibt Stunde als Dezimalzahl, Bereich (01,12) tm_hour OI Schreibt die Stunde wie in% I unter Verwendung des alternativen numerischen Systems tm_hour M. Schreibt Minute als Dezimalzahl, Bereich (00,59) tm_min OM Schreibt die Minute wie in% M unter Verwendung des alternativen numerischen Systems tm_min S. Schreibt die Sekunde als Dezimalzahl, Bereich (00,60) tm_sec Betriebssystem Schreibt als zweites% um% S unter Verwendung des alternativen numerischen Systems tm_sec Andere c Schreibt eine Standardzeichenfolge für Datum und Uhrzeit, z. B. Sun Oct 17 04:41:13 2010 (abhängig vom Gebietsschema) alle Ec Schreibt die alternative Datums- und Zeitzeichenfolge des Gebietsschemas alle x Schreibt eine lokalisierte Datumsdarstellung (abhängig vom Gebietsschema) alle Ex Schreibt die alternative Datumsdarstellung des Gebietsschemas alle X. Schreibt eine lokalisierte Zeitdarstellung (länderabhängig) alle EX Schreibt die alternative Zeitdarstellung des Gebietsschemas alle D. Entspricht "% m /% d /% y" tm_mon, tm_mday, tm_year F. Entspricht "% Y-% m-% d" tm_mon, tm_mday, tm_year r Schreibt die lokalisierte 12-Stunden-Uhrzeit tm_hour, tm_min, tm_sec R. Entspricht "% H:% M" tm_hour, tm_min T. Entspricht "% H:% M:% S. tm_hour, tm_min, tm_sec P. Schreibt lokalisiert am oder pm (abhängig vom Gebietsschema) tm_hour z Schreibt Offset von UTC im ISO 8601-Format (z. B. -0545) oder keine Zeichen, wenn die Zeitzoneninformationen nicht verfügbar sind tm_isdst Z. Schreibt den Namen oder die Abkürzung der Zeitzone oder nichts, wenn die Zeitzoneninformationen nicht verfügbar sind (abhängig vom Gebietsschema). tm_isdst - Uhrzeit: Die zu konvertierenden Datums- und Uhrzeitinformationen.
strftime () Rückgabewert
- Bei Erfolg gibt die Funktion strftime () die Anzahl der Bytes zurück, die in das Zeichenarray geschrieben wurden, auf das str zeigt, ohne das abschließende ' 0'.
- Wenn die Anzahl erreicht wurde, bevor die gesamte Zeichenfolge gespeichert werden konnte, wird 0 zurückgegeben und der Inhalt ist undefiniert.
Beispiel: Wie funktioniert die Funktion strftime ()?
#include #include using namespace std; int main() ( time_t curr_time; tm * curr_tm; char date_string(100); char time_string(100); time(&curr_time); curr_tm = localtime(&curr_time); strftime(date_string, 50, "Today is %B %d, %Y", curr_tm); strftime(time_string, 50, "Current time is %T", curr_tm); cout << date_string << endl; cout << time_string << endl; return 0; )
Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:
Heute ist der 21. April 2017. Aktuelle Zeit ist 11:20:42