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