Funcția wcsftime () din C ++ convertește data și ora date dintr-un anumit timp calendaristic timp într-un șir de caractere largi terminat nul, în conformitate cu un șir de format.
Funcția wcsftime () este definită în fișierul antet.
wcsftime () prototip
size_t wcsftime (wchar_t * str, size_t count, const wchar_t * format, const tm * time);
Funcția wcsftime () ia 4 argumente: str, count, format și time.
Informațiile despre dată și oră indicate de timp sunt convertite într-un caracter larg terminat cu nul pe baza valorii formatului și sunt stocate în matricea largă indicată de str. Se scriu cel mult numărul de octeți.
wcsftime () Parametri
- str: Pointer către primul element al matricei de caractere largi pentru a stoca rezultatul.
- count: număr maxim de caractere largi de scris.
- format: Pointer către un șir larg de caractere cu terminare nulă care specifică formatul conversiei. Șirul de format este format din specificatorul de conversie (începând cu% și urmat opțional de E sau O) și alte caractere largi obișnuite.
Caracterele largi obișnuite, inclusiv caracterul larg nul care se termină, sunt copiate așa cum este în șirul larg de ieșire. Specificatori de format pentru wcsftime ()Specificator de conversie Descriere Câmpuri folosite % Scrie caracterul% n Scrie un personaj de linie nouă t Scrie caracter tab tab orizontal An Da Scrie 4 cifre ale anului, de ex. 2011 tm_year EY Scrie 4 cifre ale anului în reprezentarea alternativă a locației tm_year y Scrie ultimele 2 cifre ale anului, intervalul (00, 99) tm_year Oy Scrie ultimele 2 cifre ale anului în reprezentarea alternativă a locației tm_year Vai Scrie anul ca decalaj de la perioada calendaristică alternativă locală% EC (dependentă de localizare) tm_year C Scrie primele 2 cifre ale anului, intervalul (00,99) tm_year CE Scrie numele anului de bază (perioada) în reprezentarea alternativă a localizării, tm_year G Scrie anul ISO 8601 săptămânal, adică anul care conține săptămâna specificată. tm_year, tm_wday, tm_yday g Scrie ultimele 2 cifre ale anului ISO 8601 pe săptămână, adică anul care conține săptămâna specificată (interval (00,99)). tm_year, tm_wday, tm_yday Lună b Scrie numele prescurtat al lunii, de ex. Ianuarie tm_mon h La fel ca b tm_mon B Scrie numele lunii întregi, de ex. Ianuarie tm_mon m Scrie luna ca număr zecimal, interval (01,12) tm_mon Om Scrie luna folosind sistemul numeric alternativ al localizării tm_mon Săptămână U Scrie săptămâna anului ca număr zecimal de la 00 la 53 (duminica este prima zi a săptămânii) tm_year, tm_wday, tm_yday OU Scrie săptămâna anului ca% U folosind sistemul numeric alternativ tm_year, tm_wday, tm_yday W Scrie săptămâna anului ca număr zecimal de la 00 la 53 (luni este prima zi a săptămânii) tm_year, tm_wday, tm_yday AU Scrie săptămâna anului ca% W folosind sistemul numeric alternativ tm_year, tm_wday, tm_yday V Scrie ISO 8601 săptămâna anului (interval (01,53)). tm_year, tm_wday, tm_yday OV Scrie săptămâna anului, ca de% V, folosind sistemul numeric alternativ tm_year, tm_wday, tm_yday Ziua anului / lunii j Scrie ziua anului ca număr zecimal, interval (001,366) tm_yday d Scrie ziua lunii ca număr zecimal, interval (01,31) tm_mday Od Scrie ziua lunii, ca de% d, utilizând sistemul numeric alternativ tm_mday e Scrie ziua lunii ca număr zecimal, interval (1,31) tm_mday Oe Scrie ziua lunii, ca de% e, folosind sistemul numeric alternativ tm_mday Zi a săptămânii A Scrie numele prescurtat al zilei săptămânii, de ex. Vin (dependent de localizare) tm_wday A Scrie numele întregii zile săptămânale, de ex. Vineri (în funcție de regiune) tm_wday w Scrie ziua săptămânii ca număr zecimal, interval (0-6) (duminica este 0) tm_wday Au Scrie ziua săptămânii ca% w, folosind sistemul numeric alternativ tm_wday tu Scrie ziua săptămânii ca număr zecimal, unde luni este 1 (format ISO 8601), interval (1-7) tm_wday Tu Scrie ziua săptămânii ca% u, folosind sistemul numeric alternativ tm_wday Oră, minut, secundă H Scrie ora ca număr zecimal, interval (00,23) tm_hour OH Scrie ora ca% H, folosind sistemul numeric alternativ tm_hour Eu Scrie ora ca număr zecimal, interval (01,12) tm_hour OI Scrie ora ca de% I, utilizând sistemul numeric alternativ tm_hour M Scrie minutul ca număr zecimal, interval (00,59) tm_min OM Scrie minut ca% M, folosind sistemul numeric alternativ tm_min S Scrie al doilea ca număr zecimal, interval (00,60) tm_sec OS Scrie în al doilea rând ca% S, folosind sistemul numeric alternativ tm_sec Alte c Scrie șir de date și oră standard, de ex. Duminică 17 octombrie 04:41:13 2010 (în funcție de regiune toate Ec Scrie șirul alternativ de dată și oră toate X Scrie reprezentarea datei localizate (în funcție de regiune) toate Ex Scrie reprezentarea alternativă a datei locale toate X Scrie reprezentarea timpului localizat (în funcție de regiune) toate EX Scrie reprezentarea alternativă a timpului local toate D Echivalent cu „% m /% d /% y” tm_mon, tm_mday, tm_year F Echivalent cu „% Y-% m-% d” tm_mon, tm_mday, tm_year r Scrie ora de ceas localizată de 12 ore tm_hour, tm_min, tm_sec R Echivalent cu „% H:% M” tm_hour, tm_min T Echivalent cu „% H:% M:% S tm_hour, tm_min, tm_sec P Scrie localizat am sau pm (dependent de localizare) tm_hour z scrie offset de la UTC în format ISO 8601 (de ex. -0545) sau fără caractere dacă informațiile despre fusul orar nu sunt disponibile tm_isdst Z Scrie numele sau abrevierea fusului orar sau nimic dacă informațiile despre fusul orar nu sunt disponibile (în funcție de regiune) tm_isdst - ora: data și ora informațiilor de convertit.
wcsftime () Valoare returnată
- La succes, funcția wcsftime () returnează numărul de caractere largi scrise în matricea largă de caractere indicată de str, fără a include L ' 0' care se termină.
- Dacă numărul a fost atins înainte ca întregul șir să poată fi stocat, 0 este returnat și conținutul este nedefinit.
Exemplu: Cum funcționează funcția 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; )
Când rulați programul, ieșirea va fi:
Astăzi este 21 aprilie 2017 Ora curentă este 14:42:45