C ++ strftime () - C ++ Standardbibliothek

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

Interessante Beiträge...