Funkcija wcsftime () C ++ paverčia nurodytą datą ir laiką iš nurodyto kalendoriaus laiko laiko į nulinės galos plačią simbolių eilutę pagal formato eilutę.
Funkcija wcsftime () yra apibrėžta antraštės faile.
wcsftime () prototipas
size_t wcsftime (wchar_t * str, size_t count, const wchar_t * formatas, const tm * laikas);
Funkcijai wcsftime () reikia 4 argumentų: str, count, format ir time.
Datos ir laiko informacija, kurią nurodo laikas, pagal formato vertę konvertuojama į niekuo nesibaigiantį platųjį simbolį ir saugoma plataus masyvo, nurodyto str. Parašomi daugiausia baitai.
wcsftime () parametrai
- str: žymeklis į pirmąjį plataus simbolių masyvo elementą, kad būtų išsaugotas rezultatas.
- skaičius: maksimalus plataus simbolio skaičius, kurį reikia parašyti.
- formatas: žymeklis nulinės galinės plačios simbolių eilutės, nurodančios konversijos formatą. Formato eilutė susideda iš konversijos specifikatoriaus (prasidedančio% ir pasirinktinai po E arba O) ir kitų įprastų plačių simbolių.
Paprasti plati simboliai, įskaitant baigiamąjį nulio pločio simbolį, nukopijuojami kaip ir išvesties pločio eilutėje. Wcsftime () formato specifikatoriaiKonversijos specifikatorius apibūdinimas Naudoti laukai % Rašo simbolį% n Rašo naujos eilės personažą t Rašo horizontalaus skirtuko simbolį Metai Y Rašo 4 skaitmenų metų, pvz., 2011 m tm_metas EY Parašo 4 metų skaitmenis alternatyviu lokalės atvaizdavimu tm_metas y Rašo paskutinius 2 metų skaitmenis, diapazoną (00, 99) tm_metas Oy Parašo paskutinius 2 metų skaitmenis alternatyviu lokalės atvaizdavimu tm_metas Ak Nurašo metus, atskaitytus iš vietovės alternatyvaus kalendorinio laikotarpio,% EC tm_metas C Rašo pirmuosius 2 metų skaitmenis, diapazonas (00,99) tm_metas EB Parašo bazinių metų (laikotarpio) pavadinimą alternatyvioje lokalės reprezentacijoje, tm_metas G Rašo ISO 8601 savaitės metus, ty metus, kuriuose yra nurodyta savaitė. tm_year, tm_wday, tm_yday g Rašo paskutinius 2 ISO 8601 skaitmenų skaičius savaitėmis, ty metus, kuriuose yra nurodyta savaitė (diapazonas (00,99)). tm_year, tm_wday, tm_yday Mėnuo b Rašo sutrumpintą mėnesio pavadinimą, pvz., Jan tm_mon h Tas pats kaip b tm_mon B Rašo viso mėnesio pavadinimą, pvz., Sausį tm_mon m Rašo mėnesį kaip dešimtainį skaičių, intervalą (01,12) tm_mon Om Rašo mėnesį naudodamas alternatyvią lokalės skaitinę sistemą tm_mon Savaitė U Metų savaitę rašo dešimtainiu skaičiumi nuo 00 iki 53 (sekmadienis yra pirmoji savaitės diena) tm_year, tm_wday, tm_yday OU Metų savaitę rašo% U, naudodama alternatyvią skaitinę sistemą tm_year, tm_wday, tm_yday W Metų savaitę rašo dešimtainiu skaičiumi nuo 00 iki 53 (pirmadienis yra pirmoji savaitės diena) tm_year, tm_wday, tm_yday OW Metų savaitę rašo% W, naudodama alternatyvią skaitinę sistemą tm_year, tm_wday, tm_yday V Rašo ISO 8601 metų savaitę (diapazonas (01,53)). tm_year, tm_wday, tm_yday OV Rašo metų savaitę, kaip% V, naudodama alternatyvią skaitinę sistemą tm_year, tm_wday, tm_yday Metų / mėnesio diena j Metų dieną rašo dešimtainiu skaičiumi, intervalą (001 366) tm_yday d Parašo mėnesio dieną kaip dešimtainį skaičių, intervalą (01,31) tm_mday Od Rašo mėnesio dieną kaip% d, naudodama alternatyvią skaitinę sistemą tm_mday e Parašo mėnesio dieną kaip dešimtainį skaičių, intervalą (1,31) tm_mday Oe Rašo mėnesio dieną kaip% e, naudodama alternatyvią skaitinę sistemą tm_mday Savaitės diena a Rašo sutrumpintą savaitės dienos pavadinimą, pvz., Penktadienis (priklauso nuo lokalės) tm_wday A Rašo visą darbo dienos pavadinimą, pvz., Penktadienis (priklauso nuo lokalės) tm_wday w Rašo savaitės dieną kaip kablelį, intervalą (0–6) (sekmadienis yra 0) tm_wday Ow Savaitės dieną rašo% w, naudodama alternatyvią skaitinę sistemą tm_wday u Savaitė rašoma dešimtainiu skaičiumi, kur pirmadienis yra 1 (ISO 8601 formatas), diapazonas (1–7) tm_wday Ou Savaitės dieną rašo% u, naudodama alternatyvią skaitinę sistemą tm_wday Valanda, minutė, sekundė H Rašo valandą kaip dešimtainį skaičių, intervalą (00,23) tm_valanda OI Rašo valandą kaip% H, naudodama alternatyvią skaitinę sistemą tm_valanda Aš Rašo valandą kaip dešimtainį skaičių, diapazoną (01,12) tm_valanda OI Rašo valandą kaip% I, naudodama alternatyvią skaitinę sistemą tm_valanda M Rašo minutę kaip dešimtainį skaičių, diapazoną (00,59) tm_min OM Rašo minutę kaip% M, naudodama alternatyvią skaitinę sistemą tm_min S Rašo antrą dešimtainį skaičių, intervalą (00,60) tm_sek OS Rašo antrą kaip% S, naudodamas alternatyvią skaitinę sistemą tm_sek Kita c Rašo standartinę datos ir laiko eilutę, pvz., 2010 m. Spalio 17 d., 04:41:13, (priklauso nuo lokalės) visi Ec Parašo lokalės alternatyvią datos ir laiko eilutę visi x Rašo lokalizuotą datos atvaizdavimą (priklauso nuo lokalės) visi Pvz Parašo lokalės alternatyvų datos vaizdą visi X Rašo lokalizuotą laiko vaizdavimą (priklauso nuo lokalės) visi PAVYZDYS Rašo lokalės alternatyvų laiko vaizdavimą visi D Atitinka „% m /% d /% y“ tm_mon, tm_mday, tm_year F Atitinka „% Y-% m-% d“ tm_mon, tm_mday, tm_year r Rašo lokalizuotą 12 valandų laikrodžio laiką tm_valanda, tm_min, tm_sek R Atitinka „% H:% M“ tm_valanda, tm_min T Atitinka „% H:% M:% S“ tm_valanda, tm_min, tm_sek P Rašo lokalizuotą rytą arba pm (priklauso nuo lokalės) tm_valanda z rašo poslinkį nuo UTC ISO 8601 formatu (pvz., -0545), arba be simbolių, jei nėra laiko juostos informacijos tm_isdst Z Rašo laiko juostos pavadinimą ar santrumpą, arba nieko, jei nėra laiko juostos informacijos (priklauso nuo lokalės) tm_isdst - laikas: konvertuojama data ir laikas.
wcsftime () Grąžinimo vertė
- Pasisekus, funkcija wcsftime () grąžina plataus simbolio, įrašyto į plataus simbolių masyvą, skaičių, nurodytą str, neįtraukiant pabaigos L ' 0'.
- Jei skaičius buvo pasiektas prieš išsaugant visą eilutę, grąžinama 0 ir turinys nėra apibrėžtas.
Pavyzdys: Kaip veikia wcsftime () funkcija?
#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; )
Kai paleisite programą, išvestis bus:
Šiandien yra 2017 m. Balandžio 21 d. Dabartinis laikas yra 14:42:45