C ++ wcsftime () - C ++ standardowa biblioteka

Funkcja wcsftime () w C ++ konwertuje podaną datę i godzinę z podanego czasu kalendarzowego na ciąg znaków szerokich zakończony znakiem null zgodnie z ciągiem formatu.

Funkcja wcsftime () jest zdefiniowana w pliku nagłówkowym.

wcsftime () prototyp

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

Funkcja wcsftime () przyjmuje 4 argumenty: str, liczbę, format i czas.

Informacje o dacie i godzinie wskazywane przez czas są konwertowane na znak szeroki zakończony znakiem null na podstawie wartości formatu i są przechowywane w szerokiej tablicy wskazywanej przez str. Zapisywane są co najwyżej count bajtów.

wcsftime () Parametry

  • str: wskaźnik do pierwszego elementu tablicy znaków szerokich, aby zapisać wynik.
  • count: maksymalna liczba znaków szerokich do zapisania.
  • format: Wskaźnik do szerokiego ciągu znaków zakończonego znakiem null, określającego format konwersji. Ciąg formatu składa się ze specyfikatora konwersji (zaczynającego się od% i opcjonalnie po nim E lub O) oraz innych zwykłych szerokich znaków.
    Zwykłe szerokie znaki, w tym kończący znak szerokości null, są kopiowane tak samo jak do wyjściowego szerokiego ciągu. Specyfikatory formatu dla wcsftime ()
    Specyfikator konwersji Opis Używane pola
    % Zapisuje znak%
    n Zapisuje znak nowego wiersza
    t Zapisuje znak tabulacji poziomej
    Rok
    Y Zapisuje 4 cyfry roku, np. 2011 tm_year
    EY Zapisuje 4 cyfry roku w alternatywnej reprezentacji ustawień regionalnych tm_year
    y Zapisuje ostatnie 2 cyfry roku, zakres (00, 99) tm_year
    Oy Zapisuje ostatnie 2 cyfry roku w alternatywnej reprezentacji ustawień regionalnych tm_year
    Ey Zapisuje rok jako przesunięcie względem alternatywnego okresu kalendarzowego% EC (zależne od ustawień regionalnych) tm_year
    do Zapisuje pierwsze 2 cyfry roku, zakres (00,99) tm_year
    WE Zapisuje nazwę roku bazowego (okresu) w alternatywnej reprezentacji ustawień regionalnych, tm_year
    sol Zapisuje rok oparty na tygodniach ISO 8601, tj. Rok zawierający określony tydzień. tm_year, tm_wday, tm_yday
    sol Zapisuje ostatnie 2 cyfry roku opartego na tygodniu ISO 8601, tj. Roku zawierającego określony tydzień (zakres (00,99)). tm_year, tm_wday, tm_yday
    Miesiąc
    b Zapisuje skróconą nazwę miesiąca, np. Jan tm_mon
    godz To samo co b tm_mon
    b Zapisuje pełną nazwę miesiąca, np. Styczeń tm_mon
    m Zapisuje miesiąc jako liczbę dziesiętną, zakres (01,12) tm_mon
    Om Zapisuje miesiąc przy użyciu alternatywnego systemu numerycznego dla ustawień regionalnych tm_mon
    Tydzień
    U Zapisuje tydzień roku jako liczbę dziesiętną od 00 do 53 (niedziela jest pierwszym dniem tygodnia) tm_year, tm_wday, tm_yday
    OU Zapisuje tydzień roku jako% U przy użyciu alternatywnego systemu liczbowego tm_year, tm_wday, tm_yday
    W. Zapisuje tydzień roku jako liczbę dziesiętną od 00 do 53 (poniedziałek jest pierwszym dniem tygodnia) tm_year, tm_wday, tm_yday
    OW Zapisuje tydzień roku jako% W przy użyciu alternatywnego systemu liczbowego tm_year, tm_wday, tm_yday
    V Zapisuje tydzień roku według ISO 8601 (zakres (01,53)). tm_year, tm_wday, tm_yday
    OV Zapisuje tydzień roku, jak w% V, używając alternatywnego systemu numerycznego tm_year, tm_wday, tm_yday
    Dzień roku / miesiąc
    jot Zapisuje dzień roku jako liczbę dziesiętną, zakres (001,366) tm_yday
    re Zapisuje dzień miesiąca jako liczbę dziesiętną, zakres (01,31) tm_mday
    Od Zapisuje dzień miesiąca jako% d, używając alternatywnego systemu liczbowego tm_mday
    mi Zapisuje dzień miesiąca jako liczbę dziesiętną, zakres (1,31) tm_mday
    Oe Zapisuje dzień miesiąca jako% e, używając alternatywnego systemu liczbowego tm_mday
    Dzień tygodnia
    za Zapisuje skróconą nazwę dnia tygodnia, np. Pt (zależne od ustawień regionalnych) tm_wday
    ZA Zapisuje pełną nazwę dnia tygodnia, np. Piątek (zależne od ustawień regionalnych) tm_wday
    w Zapisuje dzień tygodnia jako liczbę dziesiętną, zakres (0-6) (niedziela to 0) tm_wday
    Ow Zapisuje dzień tygodnia jako% w, używając alternatywnego systemu liczbowego tm_wday
    u Zapisuje dzień tygodnia jako liczbę dziesiętną, gdzie poniedziałek to 1 (format ISO 8601), zakres (1-7) tm_wday
    Ou Zapisuje dzień tygodnia jako% u, używając alternatywnego systemu liczbowego tm_wday
    Godzina, minuta, sekunda
    H. Zapisuje godzinę jako liczbę dziesiętną, zakres (00,23) tm_hour
    O Zapisuje godzinę jako% H, używając alternatywnego systemu liczbowego tm_hour
    ja Zapisuje godzinę jako liczbę dziesiętną, zakres (01,12) tm_hour
    OI Zapisuje godzinę jako% I, używając alternatywnego systemu liczbowego tm_hour
    M Zapisuje minuty jako liczbę dziesiętną, zakres (00,59) tm_min
    OM Zapisuje minuty jako% M, używając alternatywnego systemu liczbowego tm_min
    S Zapisuje sekundę jako liczbę dziesiętną, zakres (00,60) tm_sec
    OS Zapisuje sekundę jako% S, używając alternatywnego systemu liczbowego tm_sec
    Inny
    do Zapisuje standardowy ciąg daty i godziny, np. Sun Oct 17 04:41:13 2010 (zależne od ustawień regionalnych) wszystko
    Ec Zapisuje alternatywny ciąg daty i godziny dla ustawień regionalnych wszystko
    x Zapisuje zlokalizowane przedstawienie daty (zależne od ustawień regionalnych) wszystko
    Dawny Zapisuje alternatywną reprezentację daty dla lokalizacji wszystko
    X Zapisuje zlokalizowaną reprezentację czasu (zależną od ustawień regionalnych) wszystko
    DAWNY Zapisuje alternatywną reprezentację czasu w lokalizacji wszystko
    re Odpowiednik „% m /% d /% y” tm_mon, tm_mday, tm_year
    fa Odpowiednik „% Y-% m-% d” tm_mon, tm_mday, tm_year
    r Zapisuje zlokalizowany 12-godzinny zegar tm_hour, tm_min, tm_sec
    R Odpowiednik „% H:% M” tm_hour, tm_min
    T Odpowiednik „% H:% M:% S tm_hour, tm_min, tm_sec
    P. Zapisuje zlokalizowane rano lub po południu (zależne od ustawień regionalnych) tm_hour
    z zapisuje przesunięcie od UTC w formacie ISO 8601 (np. -0545) lub bez znaków, jeśli informacja o strefie czasowej nie jest dostępna tm_isdst
    Z Zapisuje nazwę lub skrót strefy czasowej lub nic, jeśli informacje o strefie czasowej nie są dostępne (zależne od ustawień regionalnych) tm_isdst
  • czas: informacje o dacie i godzinie do konwersji.

wcsftime () Wartość zwracana

  • Po pomyślnym zakończeniu funkcja wcsftime () zwraca liczbę szerokich znaków zapisanych w tablicy szerokich znaków wskazywanej przez str, bez kończącego L ' 0'.
  • Jeśli liczba została osiągnięta, zanim można było zapisać cały ciąg, zwracane jest 0, a zawartość jest niezdefiniowana.

Przykład: Jak działa funkcja 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 uruchomieniu programu wynik będzie następujący:

 Dzisiaj jest 21 kwietnia 2017. Bieżąca godzina to 14:42:45

Interesujące artykuły...