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

Funkcija wcsftime () v jeziku C ++ pretvori dani datum in čas iz določenega koledarskega časa v ničelni niz širokega znaka v skladu z nizom oblike.

Funkcija wcsftime () je definirana v datoteki glave.

prototip wcsftime ()

 size_t wcsftime (wchar_t * str, count_t size, const wchar_t * format, const tm * čas);

Funkcija wcsftime () ima 4 argumente: str, count, format in čas.

Podatki o datumu in času, na katere opozarja čas, se pretvorijo v ničelno zaključen široki znak na podlagi vrednosti formata in se shranijo v široko polje, na katerega kaže str. Zapisanih je največ bajtov štetja.

wcsftime () parametri

  • str: Kazalec na prvi element široke matrike znakov za shranjevanje rezultata.
  • count: največje število širokih znakov za zapis.
  • format: kazalec na ničelni niz širokega znaka, ki določa obliko pretvorbe. Niz oblike je sestavljen iz specifikatorja pretvorbe (začne se z% in po želji sledi E ali O) in drugih običajnih širokih znakov.
    Navadni široki znaki, vključno s končnim ničelnim znakom, se kopirajo tako kot v izhodni široki niz. Specifikatorji oblike za wcsftime ()
    Specifikacija pretvorbe Opis Uporabljena polja
    % Zapiše znak%
    n Zapiše znak nove vrstice
    t Zapiše vodoravni znak zavihka
    Leto
    Y. Zapiše 4 številke leta, npr. 2011 tm_year
    EY Zapiše 4 številke leta v alternativni predstavitvi jezika tm_year
    y Zapiše zadnji dve števki leta, obseg (00, 99) tm_year
    Oj Zapiše zadnji dve števki leta v alternativni predstavitvi področne nastavitve tm_year
    Ej Zapiše leto kot odmik od alternativnega koledarskega obdobja% EC (odvisno od jezika) tm_year
    C Zapiše prve dve števki leta, obseg (00,99) tm_year
    ES Zapiše ime izhodiščnega leta (obdobja) v alternativno predstavitev področne nastavitve, tm_year
    G Zapiše tedensko leto ISO 8601, tj. Leto, ki vsebuje navedeni teden. tm_year, tm_wday, tm_yday
    g Zapiše zadnji dve števki leta, ki temelji na tednu ISO 8601, tj. Leta, ki vsebuje določen teden (obseg (00,99)). tm_year, tm_wday, tm_yday
    Mesec
    b Piše okrajšano ime meseca, npr. Jan tm_mon
    h Enako kot b tm_mon
    B Piše polno mesečno ime, npr. Januar tm_mon
    m Zapiše mesec kot decimalno število, obseg (01,12) tm_mon
    Om Zapiše mesec z uporabo nadomestnega številskega sistema jezika tm_mon
    Teden
    U Zapiše teden v letu kot decimalno število od 00 do 53 (nedelja je prvi dan v tednu) tm_year, tm_wday, tm_yday
    OU Teden v letu zapiše kot% U z uporabo alternativnega številskega sistema tm_year, tm_wday, tm_yday
    W Zapiše teden v letu kot decimalno število od 00 do 53 (ponedeljek je prvi dan v tednu) tm_year, tm_wday, tm_yday
    OW Teden v letu zapiše kot% W z uporabo alternativnega številskega sistema tm_year, tm_wday, tm_yday
    V Piše teden v letu ISO 8601 (razpon (01,53)). tm_year, tm_wday, tm_yday
    OV Zapiše teden v letu kot% V z uporabo alternativnega številskega sistema tm_year, tm_wday, tm_yday
    Dan v letu / mesecu
    j Zapiše dan v letu kot decimalno število, obseg (001.366) tm_yday
    d Zapiše dan v mesecu kot decimalno število, obseg (01,31) tm_mday
    Od Zapiše dan v mesecu kot% d z uporabo alternativnega številskega sistema tm_mday
    e Zapiše dan v mesecu kot decimalno število, obseg (1,31) tm_mday
    Oe Zapiše dan v mesecu kot% e z uporabo alternativnega številskega sistema tm_mday
    Dan v tednu
    a Piše okrajšano ime delavnika, npr. Pet (odvisno od kraja) tm_wday
    A Zapiše polno ime delavnika, npr. Petek (odvisno od jezika) tm_wday
    w Zapiše delovni dan kot decimalno število, obseg (0-6) (nedelja je 0) tm_wday
    Oj Zapiše delovni dan kot% w z uporabo alternativnega številskega sistema tm_wday
    u Zapiše delovni dan kot decimalno število, kjer je ponedeljek 1 (format ISO 8601), obseg (1-7) tm_wday
    Ou Zapiše delovni dan kot% u z uporabo alternativnega številskega sistema tm_wday
    Ura, minuta, sekunda
    H Zapiše uro kot decimalno število, obseg (00,23) tm_hour
    OH Zapiše uro kot% H z uporabo alternativnega številskega sistema tm_hour
    jaz Zapiše uro kot decimalno število, obseg (01,12) tm_hour
    OI Zapiše uro kot% I z uporabo alternativnega številskega sistema tm_hour
    M Zapiše minuto kot decimalno število, obseg (00,59) tm_min
    OM Zapiše minuto kot% M z uporabo alternativnega številskega sistema tm_min
    S Zapiše drugo kot decimalno število, obseg (00,60) tm_sec
    OS Zapiše drugo kot% S z uporabo alternativnega številskega sistema tm_sec
    Drugo
    c Zapiše standardni datumski in časovni niz, npr. Ned. 17. okt. vse
    Ec Zapiše nadomestni niz datuma in časa vse
    x Zapiše lokalizirano predstavitev datuma (odvisno od področne nastavitve) vse
    Napr Zapiše področno predstavitev datuma vse
    X Zapiše lokalizirano predstavitev časa (odvisno od krajevne nastavitve) vse
    Npr Napiše alternativno časovno predstavitev področne nastavitve vse
    D Enakovredno "% m /% d /% y" tm_mon, tm_mday, tm_year
    F Enakovredno "% Y-% m-% d" tm_mon, tm_mday, tm_year
    r Zapiše lokaliziran 12-urni čas ure tm_hour, tm_min, tm_sec
    R Enakovredno "% H:% M" tm_hour, tm_min
    T Enakovredno "% H:% M:% S tm_hour, tm_min, tm_sec
    P Piše lokalizirano zjutraj ali zvečer (odvisno od področne nastavitve) tm_hour
    z zapisuje odmik od UTC v formatu ISO 8601 (npr. -0545) ali brez znakov, če podatki o časovnem pasu niso na voljo tm_isdst
    Z Zapiše ime ali kratico časovnega pasu ali nič, če podatki o časovnem pasu niso na voljo (odvisno od jezika) tm_isdst
  • čas: datum in čas za pretvorbo.

wcsftime () Vrnjena vrednost

  • Po uspehu funkcija wcsftime () vrne število širokih znakov, zapisanih v široko polje znakov, na katerega kaže str, ne pa končnega L ' 0'.
  • Če je bilo število doseženo, preden je bilo mogoče shraniti celoten niz, se vrne 0 in vsebina ni definirana.

Primer: Kako deluje 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; )

Ko zaženete program, bo rezultat:

 Danes je 21. april 2017 Trenutni čas je 14:42:45

Zanimive Članki...