C ++ strftime () - C ++ standaardbibliotheek

De functie strftime () in C ++ converteert de gegeven datum en tijd van een bepaalde kalendertijd naar een multibyte-tekenreeks met null-beëindigde tekens volgens een opmaakreeks.

De functie strftime () is gedefinieerd in het header-bestand.

strftime () prototype

 size_t strftime (char * str, size_t count, const char * format, const tm * time);

De functie strftime () heeft 4 argumenten nodig: str, count, format en time.

De datum- en tijdinformatie waarnaar door de tijd wordt verwezen, wordt geconverteerd naar een multibyte-teken met een null-einde op basis van de waarde van format en wordt opgeslagen in de array waarnaar wordt verwezen door str. Er worden maximaal aantal bytes geschreven.

strftime () Parameters

  • str: Pointer naar het eerste element van de character array om het resultaat op te slaan.
  • count: Maximaal aantal bytes om te schrijven.
  • format: Pointer naar een multibyte-tekenreeks met een null-einde die het conversieformaat specificeert. De format string bestaat uit een conversie specificatie (beginnend met% en optioneel gevolgd door E of O) en andere gewone karakters.
    De gewone karakters inclusief het afsluitende null-karakter worden gekopieerd zoals ze zijn naar de output string. strftime () formaatspecificaties
    Conversiespecificatie Omschrijving Gebruikte velden
    % Schrijft het karakter%
    n Schrijft een teken voor een nieuwe regel
    t Schrijft een horizontaal tab-teken
    Jaar
    Y Schrijft 4 cijfers van het jaar, bijvoorbeeld 2011 tm_jaar
    EY Schrijft 4 cijfers van het jaar in de alternatieve weergave van de locale tm_jaar
    y Schrijft de laatste 2 cijfers van het jaar, bereik (00, 99) tm_jaar
    Oy Schrijft de laatste 2 cijfers van het jaar in de alternatieve weergave van de locale tm_jaar
    Ey Schrijft jaar als offset van de alternatieve kalenderperiode van de locale% EC (afhankelijk van de locale) tm_jaar
    C Schrijft de eerste 2 cijfers van het jaar, bereik (00,99) tm_jaar
    EC Schrijft de naam van het basisjaar (punt) in de alternatieve weergave van de landinstelling, tm_jaar
    G Schrijft ISO 8601 jaar op weekbasis, dwz het jaar dat de opgegeven week bevat. tm_jaar, tm_wday, tm_dag
    g Schrijft de laatste 2 cijfers van ISO 8601-jaar op weekbasis, dwz het jaar dat de opgegeven week bevat (bereik (00,99)). tm_jaar, tm_wday, tm_dag
    Maand
    b Schrijft een afgekorte maandnaam, bijvoorbeeld Jan tm_mon
    h Hetzelfde als b tm_mon
    B Schrijft de volledige maandnaam, bijvoorbeeld januari tm_mon
    m Schrijft maand als een decimaal getal, bereik (01,12) tm_mon
    Om Schrijft maand met behulp van het alternatieve numerieke systeem van de landinstelling tm_mon
    Week
    U Schrijft week van het jaar als een decimaal getal van 00 tot 53 (zondag is de eerste dag van de week) tm_jaar, tm_wday, tm_dag
    OE Schrijft week van het jaar in% U met behulp van het alternatieve numerieke systeem tm_jaar, tm_wday, tm_dag
    W. Schrijft week van het jaar als een decimaal getal van 00 tot 53 (maandag is de eerste dag van de week) tm_jaar, tm_wday, tm_dag
    OW Schrijft de week van het jaar in% W met behulp van het alternatieve numerieke systeem tm_jaar, tm_wday, tm_dag
    V. Schrijft ISO 8601 week van het jaar (bereik (01,53)). tm_jaar, tm_wday, tm_dag
    OV Schrijft week van het jaar, in% V, met behulp van het alternatieve numerieke systeem tm_jaar, tm_wday, tm_dag
    Dag van het jaar / maand
    j Schrijft de dag van het jaar als een decimaal getal, bereik (001,366) tm_yday
    d Schrijft de dag van de maand als een decimaal getal, bereik (01,31) tm_mday
    Od Schrijft de dag van de maand, zoals door% d, met behulp van het alternatieve numerieke systeem tm_mday
    e Schrijft de dag van de maand als een decimaal getal, bereik (1,31) tm_mday
    Oe Schrijft de dag van de maand, zoals% e, met behulp van het alternatieve numerieke systeem tm_mday
    Dag van de week
    een Schrijft een afgekorte weekdagnaam, bijv. Fri (afhankelijk van de locale) tm_wday
    EEN Schrijft de volledige naam van de weekdag, bijv. Vrijdag (afhankelijk van de locale) tm_wday
    w Schrijft weekdag als een decimaal getal, bereik (0-6) (zondag is 0) tm_wday
    Ow Schrijft weekdag als% w, met behulp van het alternatieve numerieke systeem tm_wday
    u Schrijft weekdag als een decimaal getal, waarbij maandag 1 is (ISO 8601-indeling), bereik (1-7) tm_wday
    Ou Schrijft weekdag als door% u, met behulp van het alternatieve numerieke systeem tm_wday
    Uur, minuut, seconde
    H. Schrijft uur als een decimaal getal, bereik (00,23) tm_uur
    OH Schrijft uren als% H, met behulp van het alternatieve numerieke systeem tm_uur
    ik Schrijft uur als een decimaal getal, bereik (01,12) tm_uur
    OI Schrijft uur als% I, met behulp van het alternatieve numerieke systeem tm_uur
    M. Schrijft minuut als een decimaal getal, bereik (00,59) tm_min
    OM Schrijft minuut als% M, met behulp van het alternatieve numerieke systeem tm_min
    S Schrijft de tweede als een decimaal getal, bereik (00,60) tm_sec
    OS Schrijft als tweede door% S, met behulp van het alternatieve numerieke systeem tm_sec
    Andere
    c Schrijft een standaard datum- en tijdreeks, bijv. Zo 17 oktober 04:41:13 2010 (afhankelijk van de locale) alle
    Ec Schrijft de alternatieve tekenreeks voor datum en tijd van de locale alle
    X Schrijft een gelokaliseerde datumweergave (afhankelijk van de locale) alle
    Ex Schrijft de alternatieve datumweergave van de locale alle
    X Schrijft gelokaliseerde tijdsweergave (afhankelijk van de locale) alle
    EX Schrijft de alternatieve tijdweergave van de locale alle
    D Komt overeen met "% m /% d /% y" tm_mon, tm_mday, tm_year
    F. Komt overeen met "% Y-% m-% d" tm_mon, tm_mday, tm_year
    r Schrijft gelokaliseerde 12-uurs kloktijd tm_uur, tm_min, tm_sec
    R Komt overeen met "% H:% M" tm_uur, tm_min
    T Komt overeen met "% H:% M:% S tm_uur, tm_min, tm_sec
    P. Schrijft gelokaliseerde am of pm (afhankelijk van de locale) tm_uur
    z schrijft offset van UTC in de ISO 8601-indeling (bijv. -0545), of geen tekens als de tijdzone-informatie niet beschikbaar is tm_isdst
    Z Schrijft tijdzonienaam of afkorting, of niets als de tijdzonegegevens niet beschikbaar zijn (afhankelijk van de landinstelling) tm_isdst
  • tijd: de datum- en tijdinformatie die moet worden geconverteerd.

strftime () Retourwaarde

  • Bij succes retourneert de functie strftime () het aantal bytes dat is geschreven in de tekenreeks waarnaar wordt verwezen door str, zonder de afsluitende ' 0'.
  • Als het aantal werd bereikt voordat de hele tekenreeks kon worden opgeslagen, wordt 0 geretourneerd en is de inhoud niet gedefinieerd.

Voorbeeld: hoe werkt strftime () functie?

 #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; )

Wanneer u het programma uitvoert, is de uitvoer:

 Het is vandaag 21 april 2017. De huidige tijd is 11:20:42

Interessante artikelen...