C ++ wcsftime () - C ++ standardna knjižnica

Funkcija wcsftime () u C ++-u pretvara zadani datum i vrijeme iz zadanog kalendarskog vremena u nulto završeni niz širokih znakova prema nizu formata.

Funkcija wcsftime () definirana je u zaglavnoj datoteci.

prototip wcsftime ()

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

Funkcija wcsftime () uzima 4 argumenta: str, count, format i vrijeme.

Podaci o datumu i vremenu na koje vrijeme ukazuje pretvaraju se u nula-završeni široki znak na temelju vrijednosti formata i pohranjuju se u široki niz na koji ukazuje str. Napisano je najviše bajtova prebrojavanja.

wcsftime () parametri

  • str: Pokazivač na prvi element širokog niza znakova za spremanje rezultata.
  • count: Maksimalan broj širokog znaka za pisanje.
  • format: Pokazivač na niz širokih znakova s ​​nulom završavajući koji specificira format pretvorbe. Niz formata sastoji se od specifikatora pretvorbe (koji započinje s%, a po želji slijedi E ili O) i ostalih uobičajenih širokih znakova.
    Uobičajeni široki znakovi, uključujući završni null wide znak, kopiraju se u izlazni široki niz. Specifikatori formata za wcsftime ()
    Specifikacija pretvorbe Opis Korištena polja
    % Zapisuje lik%
    n Piše znak za novi red
    t Zapisuje znak vodoravne kartice
    Godina
    Y Zapisuje 4 znamenke godine, npr. 2011 tm_godina
    EY Zapisuje 4 znamenke godine u alternativnom prikazu jezika tm_godina
    g Zapisuje zadnje dvije znamenke godine, raspon (00, 99) tm_godina
    Oj Zapisuje posljednje dvije znamenke godine u alternativnom predstavljanju jezika tm_godina
    Ej Zapisuje godinu kao odmak od alternativnog kalendarskog razdoblja lokalizacije% EC (ovisno o lokalnom jeziku) tm_godina
    C Zapisuje prve dvije znamenke u godini, raspon (00,99) tm_godina
    EZ Zapisuje ime bazne godine (razdoblja) u alternativnom predstavljanju lokaliteta, tm_godina
    G Zapisuje ISO 8601 sedmičnu godinu, tj. Godinu koja sadrži navedeni tjedan. tm_year, tm_wday, tm_yday
    g Zapisuje posljednje dvije znamenke godine temeljene na tjednu ISO 8601, tj. Godine koja sadrži navedeni tjedan (raspon (00,99)). tm_year, tm_wday, tm_yday
    Mjesec
    b Piše skraćeni naziv mjeseca, npr. Jan tm_mon
    h Isto kao b tm_mon
    B Piše puni naziv mjeseca, npr. Siječanj tm_mon
    m Zapisuje mjesec kao decimalni broj, raspon (01,12) tm_mon
    Om Piše mjesec koristeći alternativni numerički sustav jezika tm_mon
    Tjedan
    U Zapisuje tjedan u godini kao decimalni broj od 00 do 53 (nedjelja je prvi dan u tjednu) tm_year, tm_wday, tm_yday
    OU Zapisuje tjedan u godini kao% U koristeći alternativni numerički sustav tm_year, tm_wday, tm_yday
    W Zapisuje tjedan u godini kao decimalni broj od 00 do 53 (ponedjeljak je prvi dan u tjednu) tm_year, tm_wday, tm_yday
    OW Zapisuje tjedan u godini kao% W koristeći alternativni numerički sustav tm_year, tm_wday, tm_yday
    V Piše ISO 8601 tjedan u godini (raspon (01,53)). tm_year, tm_wday, tm_yday
    OV Zapisuje tjedan u godini kao% V, koristeći alternativni numerički sustav tm_year, tm_wday, tm_yday
    Dan u godini / mjesecu
    j Zapisuje dan u godini kao decimalni broj, raspon (001.366) tm_yday
    d Zapisuje dan u mjesecu kao decimalni broj, raspon (01,31) tm_mday
    Od Zapisuje dan u mjesecu kao% d, koristeći alternativni numerički sustav tm_mday
    e Zapisuje dan u mjesecu kao decimalni broj, raspon (1,31) tm_mday
    Oe Zapisuje dan u mjesecu kao% e, koristeći alternativni numerički sustav tm_mday
    Dan u tjednu
    a Piše skraćeni naziv radnog dana, npr. Petak (ovisno o lokalnom jeziku) tm_wday
    A Piše puni naziv radnog dana, npr. Petak (ovisno o lokalnom jeziku) tm_wday
    w Zapisuje radni dan kao decimalni broj, raspon (0-6) (nedjelja je 0) tm_wday
    Au Zapisuje radni dan kao% w, koristeći alternativni numerički sustav tm_wday
    u Zapisuje radni dan kao decimalni broj, gdje je ponedjeljak 1 (format ISO 8601), raspon (1-7) tm_wday
    Ou Zapisuje radni dan kao% u, koristeći alternativni numerički sustav tm_wday
    Sat, minuta, sekunda
    H Zapisuje sat kao decimalni broj, raspon (00,23) tm_hour
    OH Zapisuje sat kao% H, koristeći alternativni numerički sustav tm_hour
    Ja Zapisuje sat kao decimalni broj, raspon (01,12) tm_hour
    OI Zapisuje sat kao% I, koristeći alternativni numerički sustav tm_hour
    M Zapisuje minutu kao decimalni broj, raspon (00,59) tm_min
    OM Zapisuje minutu kao% M, koristeći alternativni numerički sustav tm_min
    S Zapisuje drugo kao decimalni broj, raspon (00,60) tm_sec
    OS Zapisuje drugo kao% S, koristeći alternativni numerički sustav tm_sec
    Ostalo
    c Zapisuje standardni datumski i vremenski niz, npr. Ned, 17. listopada 04:41:13, 2010 (ovisno o lokalnom jeziku) svi
    Ec Zapisuje alternativni datumski i vremenski niz lokalnog jezika svi
    x Zapisuje lokalizirani prikaz datuma (ovisno o lokalnom jeziku) svi
    Pr Napisuje zamjenski prikaz datuma na lokalnom jeziku svi
    x Zapisuje lokalizirano predstavljanje vremena (ovisno o lokalnom jeziku) svi
    Npr Piše lokalno predstavljanje alternativnog vremena svi
    D Ekvivalentno "% m /% d /% y" tm_mon, tm_mday, tm_year
    F Ekvivalentno "% Y-% m-% d" tm_mon, tm_mday, tm_year
    r Zapisuje lokalizirano 12-satno vrijeme sata tm_hour, tm_min, tm_sec
    R Ekvivalentno "% H:% M" tm_hour, tm_min
    T Ekvivalentno "% H:% M:% S tm_hour, tm_min, tm_sec
    Str Zapisuje lokalizirano ujutro ili popodne (ovisno o lokalnom jeziku) tm_hour
    z zapisuje pomak od UTC-a u ISO 8601 formatu (npr. -0545) ili nema znakova ako podaci o vremenskoj zoni nisu dostupni tm_isdst
    Z Zapisuje naziv ili kraticu vremenske zone ili ništa ako podaci o vremenskoj zoni nisu dostupni (ovisno o lokalnom okruženju) tm_isdst
  • vrijeme: Podaci o datumu i vremenu koje treba pretvoriti.

wcsftime () Povratna vrijednost

  • Nakon uspjeha, funkcija wcsftime () vraća broj širokog znaka zapisanog u široki niz znakova na koji pokazuje str, ne uključujući završni L ' 0'.
  • Ako je postignuto brojanje prije nego što je cijeli niz mogao biti pohranjen, vraća se 0 i sadržaj je nedefiniran.

Primjer: Kako funkcionira funkcija 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; )

Kada pokrenete program, izlaz će biti:

 Danas je 21. travnja 2017. Trenutno vrijeme je 14:42:45

Zanimljivi članci...