C ++ wcsftime () - C ++ standartinė biblioteka

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 specifikatoriai
    Konversijos 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
    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

Įdomios straipsniai...