C ++ wcsftime () - štandardná knižnica C ++

Funkcia wcsftime () v C ++ prevádza zadaný dátum a čas z daného kalendárneho času na reťazec širokých znakov s nulovým zakončením podľa formátovacieho reťazca.

Funkcia wcsftime () je definovaná v hlavičkovom súbore.

prototyp wcsftime ()

 size_t wcsftime (wchar_t * str, size_t count, const wchar_t * format, const tm * time);

Funkcia wcsftime () má 4 argumenty: str, count, format a time.

Informácie o dátume a čase, na ktoré ukazuje čas, sa prevedú na široký znak s nulovým zakončením na základe hodnoty formátu a sú uložené v širokom poli, na ktoré ukazuje str. Maximálny počet zapísaných bajtov je.

Parametre wcsftime ()

  • str: Ukazovateľ na prvý prvok širokého znakového poľa na uloženie výsledku.
  • počet: Maximálny počet širokých znakov na zápis.
  • formát: Ukazovateľ na reťazec širokých znakov s nulovou koncovkou, ktorý určuje formát prevodu. Reťazec formátu pozostáva zo špecifikátora prevodu (začínajúceho na% a voliteľne nasledovaného znakom E alebo O) a ďalších bežných širokých znakov.
    Obyčajné široké znaky vrátane ukončovacieho prázdneho širokého znaku sa skopírujú tak, ako je, do výstupného širokého reťazca. Špecifikátory formátu pre wcsftime ()
    Špecifikátor konverzie Popis Použité polia
    % Napíše znak%
    n Píše znak nového riadku
    t Zapíše znak vodorovnej tabulátora
    Rok
    Y. Píše 4 číslice roku, napr. 2011 tm_rok
    EY Píše 4 číslice roka v alternatívnom zastúpení miestneho nastavenia tm_rok
    r Zapisuje posledné 2 číslice roku, rozsah (00, 99) tm_rok
    Oy Zapíše posledné 2 číslice roka do alternatívneho zastúpenia miestneho nastavenia tm_rok
    Ey Píše rok ako posun od alternatívneho kalendárneho obdobia miestneho nastavenia% EC (podľa miestneho nastavenia) tm_rok
    C. Zapisuje prvé 2 číslice roku, rozsah (00,99) tm_rok
    ES Zapíše názov základného roku (obdobia) do alternatívneho znázornenia miestneho nastavenia, tm_rok
    G Píše ISO 8601 rok založený na týždňoch, tj rok, ktorý obsahuje zadaný týždeň. tm_year, tm_wday, tm_yday
    g Zapisuje posledné 2 číslice ISO 8601 roku založeného na týždni, tj roku, ktorý obsahuje zadaný týždeň (rozsah (00,99)). tm_year, tm_wday, tm_yday
    Mesiac
    b Píše skrátený názov mesiaca, napr. Jan tm_mon
    h Rovnako ako b tm_mon
    B Píše meno celého mesiaca, napr. Január tm_mon
    m Zapíše mesiac ako desatinné číslo, rozsah (01,12) tm_mon
    Om Píše mesiac pomocou alternatívneho číselného systému miestneho nastavenia tm_mon
    Týždeň
    U Píše týždeň v roku ako desatinné číslo od 00 do 53 (nedeľa je prvý deň v týždni) tm_year, tm_wday, tm_yday
    OU Píše týždeň v roku ako% U pomocou alternatívneho číselného systému tm_year, tm_wday, tm_yday
    Ž Píše týždeň v roku ako desatinné číslo od 00 do 53 (pondelok je prvý deň v týždni) tm_year, tm_wday, tm_yday
    OW Zapíše týždeň v roku ako% W pomocou alternatívneho číselného systému tm_year, tm_wday, tm_yday
    V. Píše ISO 8601 týždeň v roku (rozsah (01,53)). tm_year, tm_wday, tm_yday
    OV Zapíše týždeň v roku ako% V, pričom použije alternatívny numerický systém tm_year, tm_wday, tm_yday
    Deň v roku / mesiaci
    j Zapisuje deň v roku ako desatinné číslo, rozsah (001 366) tm_yday
    d Zapíše deň v mesiaci ako desatinné číslo, rozsah (01,31) tm_mday
    Od Zapíše deň v mesiaci, ako% d, pomocou alternatívneho číselného systému tm_mday
    e Zapisuje deň v mesiaci ako desatinné číslo, rozsah (1,31) tm_mday
    Oe Zapíše deň v mesiaci, ako% e, pomocou alternatívneho číselného systému tm_mday
    Deň v týždni
    a Píše skrátený názov dňa v týždni, napr. Pi (podľa miestneho nastavenia) tm_wday
    A Píše celé dni v týždni, napr. Piatok (závisí od miestneho nastavenia) tm_wday
    w Píše všedný deň ako desatinné číslo, rozsah (0-6) (nedeľa je 0) tm_wday
    Ou Píše všedný deň ako% w, pričom sa používa alternatívny numerický systém tm_wday
    u Píše všedný deň ako desatinné číslo, kde pondelok je 1 (formát ISO 8601), rozsah (1-7) tm_wday
    Ou Píše všedný deň ako% u, pričom sa používa alternatívny numerický systém tm_wday
    Hodina, minúta, sekunda
    H Píše hodinu ako desatinné číslo, rozsah (00,23) tm_hodina
    OH Zapíše hodinu ako% H pomocou alternatívneho číselného systému tm_hodina
    Ja Zapíše hodinu ako desatinné číslo, rozsah (01,12) tm_hodina
    OI Píše hodinu ako% I, pomocou alternatívneho číselného systému tm_hodina
    M Zapíše minútu ako desatinné číslo, rozsah (00,59) tm_min
    OM Zápis minúty ako o% M pomocou alternatívneho číselného systému tm_min
    S Sekunda sa zapíše ako desatinné číslo, rozsah (00,60) tm_sec
    OS Druhý zápis bude ako% S, pričom sa použije alternatívny numerický systém tm_sec
    Iné
    c Zapíše štandardný reťazec dátumu a času, napr. Ne 17.októbra 04:41:13 2010 (podľa miestneho nastavenia) všetko
    Ec Zapíše alternatívny reťazec dátumu a času miestneho nastavenia všetko
    X Zapíše lokalizované zastúpenie dátumu (závisí od miestneho nastavenia) všetko
    Pr Zapíše alternatívnu reprezentáciu dátumu miestneho nastavenia všetko
    X Zapisuje lokalizovanú časovú reprezentáciu (závisí od miestneho nastavenia) všetko
    EX Zapíše alternatívne časové znázornenie miestneho nastavenia všetko
    D Ekvivalent k „% m /% d /% y“ tm_mon, tm_mday, tm_year
    F Ekvivalent k „% Y-% m-% d“ tm_mon, tm_mday, tm_year
    r Píše lokalizovaný 12-hodinový čas tm_hour, tm_min, tm_sec
    R Ekvivalent k „% H:% M“ tm_hour, tm_min
    T Ekvivalent k „% H:% M:% S tm_hour, tm_min, tm_sec
    P Píše lokalizované dopoludnia alebo večer (podľa miestneho nastavenia) tm_hodina
    z zapíše posun od UTC vo formáte ISO 8601 (napr. -0545) alebo bez znakov, ak nie sú k dispozícii informácie o časovom pásme tm_isdst
    Z Zapíše názov alebo skratku časového pásma, alebo nič, ak informácie o časovom pásme nie sú k dispozícii (závisí od miestneho nastavenia) tm_isdst
  • čas: Informácie o dátume a čase, ktoré sa majú previesť.

wcsftime () Vrátená hodnota

  • Pri úspechu funkcia wcsftime () vráti počet širokých znakov zapísaných do širokého poľa znakov, na ktoré ukazuje str bez koncovky L ' 0'.
  • Ak bol počet dosiahnutý skôr, ako bolo možné uložiť celý reťazec, vráti sa 0 a obsah nie je definovaný.

Príklad: Ako funguje funkcia 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; )

Po spustení programu bude výstup:

 Dnes je 21. apríla 2017 Aktuálny čas je 14:42:45

Zaujímavé články...