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