C ++ wcsftime () - C ++ standaardbibliotheek

De functie wcsftime () in C ++ converteert de gegeven datum en tijd van een bepaalde kalendertijd naar een brede tekenreeks met null-eindigend volgens een opmaakreeks.

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

wcsftime () prototype

 size_t wcsftime (wchar_t * str, size_t count, const wchar_t * format, const tm * time);

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

De datum- en tijdinformatie waarnaar door de tijd wordt verwezen, wordt geconverteerd naar een nul-beëindigd breed teken op basis van de waarde van het formaat en wordt opgeslagen in de brede reeks waarnaar wordt verwezen door str. Er worden maximaal aantal bytes geschreven.

wcsftime () Parameters

  • str: Pointer naar het eerste element van de array met brede tekens om het resultaat op te slaan.
  • count: Maximaal aantal te schrijven brede tekens.
  • format: Pointer naar een brede 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 brede karakters.
    De gewone brede karakters inclusief het afsluitende nul brede karakter worden gekopieerd zoals het is naar de uitvoer brede string. Formaatspecificaties voor wcsftime ()
    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.

wcsftime () Retourwaarde

  • Bij succes retourneert de functie wcsftime () het aantal brede tekens dat is geschreven in de brede tekenreeks waarnaar wordt verwezen door str, zonder de afsluitende L ' 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 de functie wcsftime ()?

 #include #include #include using namespace std; int main() ( time_t curr_time; tm * curr_tm; wchar_t date_string(100); wchar_t time_string(100); time(&curr_time); curr_tm = localtime(&curr_time); wcsftime(date_string, 50, L"Today is %B %d, %Y", curr_tm); wcsftime(time_string, 50, L"Current time is %T", curr_tm); wcout << date_string << endl; wcout << time_string << endl; return 0; )

Wanneer u het programma uitvoert, is de uitvoer:

 Het is vandaag 21 april 2017. De huidige tijd is 14:42:45

Interessante artikelen...