C ++ wcsftime () - C ++ standardbibliotek

Funksjonen wcsftime () i C ++ konverterer gitt dato og klokkeslett fra en gitt kalendertid til en null-avsluttet bred tegnstreng i henhold til en formatstreng.

Funksjonen wcsftime () er definert i topptekstfilen.

wcsftime () prototype

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

Funksjonen wcsftime () tar fire argumenter: str, count, format og tid.

Dato- og klokkeslettinformasjonen som tiden peker på, konverteres til et null-avsluttet bredt tegn basert på verdien av formatet og lagres i det brede utvalget som str. Det skrives maksimalt antall byte.

wcsftime () Parametere

  • str: peker til det første elementet i det brede tegnsettet for å lagre resultatet.
  • count: Maksimalt antall brede tegn å skrive.
  • format: peker til en null-avsluttet bred tegnstreng som spesifiserer formatet for konvertering. Formatstrengen består av konverteringsspesifikator (begynner med% og eventuelt etterfulgt av E eller O) og andre vanlige brede tegn.
    De vanlige brede tegnene, inkludert det avsluttende nullbrede tegnet, kopieres som det er til den brede strengen. Formatspesifikatorer for wcsftime ()
    Konverteringsspesifikator Beskrivelse Brukte felt
    % Skriver tegnet%
    n Skriver newline-karakter
    t Skriver vannrett fane
    År
    Y Skriver 4 sifre i året, f.eks. 2011 tm_år
    EY Skriver 4 sifre av året i lokalets alternative representasjon tm_år
    y Skriver de siste to sifrene i året, rekkevidde (00, 99) tm_år
    Oy Skriver de to siste sifrene i året i lokalets alternative representasjon tm_år
    Ey Skriver år som forskjøvet fra lokalens alternative kalenderperiode% EC (stedavhengig) tm_år
    C Skriver de to første sifrene i året, rekkevidde (00,99) tm_år
    EC Skriver navnet på basisåret (perioden) i stedets alternative representasjon, tm_år
    G Skriver ISO 8601 ukebasert år, dvs. året som inneholder den angitte uken. tm_år, tm_wday, tm_day
    g Skriver de siste 2 sifrene i ISO 8601 ukebasert år, dvs. året som inneholder den angitte uken (område (00,99)). tm_år, tm_wday, tm_day
    Måned
    b Skriver forkortet månedsnavn, f.eks. Jan tm_mon
    h Samme som b tm_mon
    B Skriver navnet på hele måneden, f.eks. Januar tm_mon
    m Skriver måned som et desimaltall, område (01,12) tm_mon
    Om Skriver måned ved hjelp av stedets alternative numeriske system tm_mon
    Uke
    U Skriver årets uke som et desimaltall fra 00 til 53 (søndag er den første dagen i uken) tm_år, tm_wday, tm_day
    OU Skriver uken i året som av% U ved hjelp av det alternative numeriske systemet tm_år, tm_wday, tm_day
    W Skriver årets uke som et desimaltall fra 00 til 53 (mandag er den første dagen i uken) tm_år, tm_wday, tm_day
    OW Skriver uken i året som% W ved hjelp av det alternative numeriske systemet tm_år, tm_wday, tm_day
    V Skriver ISO 8601 uke av året (område (01,53)). tm_år, tm_wday, tm_day
    OV Skriver uken i året, som med% V, ved hjelp av det alternative numeriske systemet tm_år, tm_wday, tm_day
    Årets dag / måned
    j Skriver årets dag som et desimaltall, rekkevidde (001 366) tm_dag
    d Skriver månedsdagen som et desimaltall, område (01,31) tm_mday
    Od Skriver dagen i måneden, som med% d, ved hjelp av det alternative numeriske systemet tm_mday
    e Skriver månedsdagen som et desimaltall, område (1,31) tm_mday
    Oe Skriver dagen i måneden, som med% e, ved hjelp av det alternative numeriske systemet tm_mday
    Ukedag
    en Skriver forkortet ukedagsnavn, f.eks. Fre (stedavhengig) tm_wday
    EN Skriver full ukedag, f.eks. Fredag ​​(stedavhengig) tm_wday
    w Skriver ukedag som et desimaltall, område (0-6) (søndag er 0) tm_wday
    Ow Skriver ukedag som med% w, ved hjelp av det alternative numeriske systemet tm_wday
    u Skriver ukedag som et desimaltall, der mandag er 1 (ISO 8601-format), rekkevidde (1-7) tm_wday
    Ou Skriver ukedag som% u, ved hjelp av det alternative numeriske systemet tm_wday
    Time, minutt, sekund
    H Skriver time som et desimaltall, rekkevidde (00,23) tm_time
    ÅH Skriver time som% H ved hjelp av det alternative numeriske systemet tm_time
    Jeg Skriver time som et desimaltall, rekkevidde (01,12) tm_time
    OI Skriver time som% I, ved hjelp av det alternative numeriske systemet tm_time
    M Skriver minutt som desimaltall, rekkevidde (00,59) tm_min
    OM Skriver minutt som med% M, ved hjelp av det alternative numeriske systemet tm_min
    S Skriver andre som desimaltall, rekkevidde (00,60) tm_sec
    OS Skriver andre som% S, ved hjelp av det alternative numeriske systemet tm_sec
    Annen
    c Skriver standard dato og klokkeslett, f.eks. Søn 17 okt 04:41:13 2010 (stedavhengig) alle
    Ec Skriver stedets alternative dato og klokkeslettstreng alle
    x Skriver lokalisert datarepresentasjon (stedavhengig) alle
    Eks Skriver stedets alternative datorepresentasjon alle
    X Skriver lokalisert tidsrepresentasjon (stedavhengig) alle
    EX Skriver stedets alternative tidsrepresentasjon alle
    D Tilsvarer "% m /% d /% y" tm_mon, tm_mday, tm_year
    F Tilsvarer "% Y-% m-% d" tm_mon, tm_mday, tm_year
    r Skriver lokalisert 12-timers tid tm_hour, tm_min, tm_sec
    R Tilsvarer "% H:% M" tm_time, tm_min
    T Tilsvarer "% H:% M:% S tm_hour, tm_min, tm_sec
    P Skriver lokalisert am eller pm (stedavhengig) tm_time
    z skriver forskyvning fra UTC i ISO 8601-format (f.eks. -0545), eller ingen tegn hvis tidssoneinformasjonen ikke er tilgjengelig tm_isdst
    Z Skriver tidssone navn eller forkortelse, eller ingenting hvis tidssoneinformasjonen ikke er tilgjengelig (stedavhengig) tm_isdst
  • tid: Datoen og klokkeslettet som skal konverteres.

wcsftime () Returverdi

  • Når det lykkes, returnerer wcsftime () -funksjonen antallet brede tegn skrevet i det brede tegnsettet som pekes på av str som ikke inkluderer den avsluttende L ' 0'.
  • Hvis antall ble nådd før hele strengen kunne lagres, returneres 0 og innholdet er udefinert.

Eksempel: Hvordan fungerer 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; )

Når du kjører programmet, vil utdataene være:

 I dag er det 21. april 2017 Nåværende tid er 14:42:45

Interessante artikler...