C ++ wcsftime () - Стандартна бібліотека C ++

Функція wcsftime () в C ++ перетворює задану дату та час із заданого календарного часу в широкий рядок символів, що закінчується нулем, відповідно до рядка формату.

Функція wcsftime () визначена у файлі заголовка.

прототип wcsftime ()

 size_t wcsftime (wchar_t * str, count_t count, const wchar_t * формат, const tm * час);

Функція wcsftime () приймає 4 аргументи: str, count, format і time.

Інформація про дату та час, на яку вказує час, перетворюється на широкий символ із нульовим закінченням на основі значення формату і зберігається у широкому масиві, на який вказує str. Записано не більше байтів підрахунку.

Параметри wcsftime ()

  • str: Вказівник на перший елемент широкого масиву символів для збереження результату.
  • count: Максимальна кількість широких символів для написання.
  • формат: вказівник на широкий рядок символів із нульовим кінцем, що вказує формат перетворення. Рядок формату складається із специфікатора перетворення (починається з%, а необов'язково після нього E або O) та інших звичайних широких символів.
    Звичайні широкі символи, включаючи закінчувальний нульовий широкий символ, копіюються, як і у вихідний широкий рядок. Специфікатори формату для wcsftime ()
    Специфікатор перетворення Опис Використані поля
    % Пише символ%
    п Пише символ нового рядка
    т Пише символ горизонтальної табуляції
    Рік
    Y Записує 4 цифри року, наприклад 2011 tm_year
    ЕЙ Записує 4 цифри року в альтернативному поданні мови tm_year
    р Записує останні 2 цифри року, діапазон (00, 99) tm_year
    Ой Записує останні 2 цифри року в альтернативному поданні мови tm_year
    Ой Записує рік як зсув від альтернативного календарного періоду мови%% EC (залежить від мови) tm_year
    C. Записує перші 2 цифри року, діапазон (00,99) tm_year
    ЄС Записує назву базового року (періоду) в альтернативному поданні мови, tm_year
    G Пише тижневий рік за стандартом ISO 8601, тобто рік, що містить вказаний тиждень. tm_year, tm_wday, tm_yday
    g Записує останні 2 цифри року на основі тижня ISO 8601, тобто року, що містить зазначений тиждень (діапазон (00,99)). tm_year, tm_wday, tm_yday
    Місяць
    b Пише скорочену назву місяця, наприклад Jan tm_mon
    h Те саме, що b tm_mon
    B Пише повну назву місяця, наприклад, січень tm_mon
    м Записує місяць як десяткове число, діапазон (01,12) tm_mon
    Ом Записує місяць, використовуючи альтернативну числову систему мови tm_mon
    Тиждень
    U Записує тиждень року як десяткове число від 00 до 53 (неділя - перший день тижня) tm_year, tm_wday, tm_yday
    НУ Записує тиждень року як% U, використовуючи альтернативну числову систему tm_year, tm_wday, tm_yday
    W Записує тиждень року як десяткове число від 00 до 53 (понеділок - перший день тижня) tm_year, tm_wday, tm_yday
    ВЛАСНА Записує тиждень року як% W, використовуючи альтернативну числову систему tm_year, tm_wday, tm_yday
    V Пише ISO 8601 тиждень у році (діапазон (01,53)). tm_year, tm_wday, tm_yday
    О.В. Записує тиждень року як% V, використовуючи альтернативну числову систему tm_year, tm_wday, tm_yday
    День року / місяця
    j Записує день року як десяткове число, діапазон (001 366) tm_yday
    d Записує день місяця як десяткове число, діапазон (01,31) tm_mday
    Од Записує день місяця як% d, використовуючи альтернативну числову систему tm_mday
    e Записує день місяця як десяткове число, діапазон (1,31) tm_mday
    Е Записує день місяця як% e, використовуючи альтернативну числову систему tm_mday
    День тижня
    a Пише скорочену назву тижня, наприклад, п'ятниця (залежно від мови) tm_wday
    A Пише повну назву робочого дня, наприклад, п’ятниця (залежно від мови) tm_wday
    w Записує день тижня як десяткове число, діапазон (0-6) (неділя 0) tm_wday
    Ой Записує день тижня як% w, використовуючи альтернативну числову систему tm_wday
    u Записує день тижня як десяткове число, де понеділок - 1 (формат ISO 8601), діапазон (1-7) tm_wday
    Ou Записує день тижня як% u, використовуючи альтернативну числову систему tm_wday
    Година, хвилина, секунда
    H Записує годину як десяткове число, діапазон (00,23) tm_hour
    ОХ Записує годину як% H, використовуючи альтернативну числову систему tm_hour
    Я Записує годину як десяткове число, діапазон (01,12) tm_hour
    OI Записує годину як% I, використовуючи альтернативну числову систему tm_hour
    М Записує хвилину як десяткове число, діапазон (00,59) tm_min
    ОМ Записує хвилину як% M, використовуючи альтернативну числову систему tm_min
    S Записує друге як десяткове число, діапазон (00,60) tm_sec
    ОС Записує друге як% S, використовуючи альтернативну числову систему tm_sec
    Інший
    c Записує стандартний рядок дати та часу, наприклад, НД жовтня 17 04:41:13 2010 (залежно від мови) всі
    Ек Записує альтернативний рядок дати та часу для мови всі
    х Записує локалізоване представлення дати (залежно від мови) всі
    Напр Пише альтернативне представлення дати для мови всі
    X Записує локалізоване представлення часу (залежить від мови) всі
    ПРИКЛАД Пише альтернативне представлення часу для мови всі
    D Еквівалентно "% m /% d /% y" tm_mon, tm_mday, tm_year
    F Еквівалентно "% Y-% m-% d" tm_mon, tm_mday, tm_year
    р Записує локалізований 12-годинний годинник tm_hour, tm_min, tm_sec
    Р. Еквівалентно "% H:% M" tm_hour, tm_min
    Т Еквівалентно "% H:% M:% S tm_hour, tm_min, tm_sec
    P Пише локалізовані ранку або вечора (залежно від мови) tm_hour
    z записує зсув від UTC у форматі ISO 8601 (наприклад, -0545), або відсутність символів, якщо інформація про часовий пояс недоступна tm_isdst
    Z Записує назву або абревіатуру часового поясу, або нічого, якщо інформація про часовий пояс недоступна (залежить від мови) tm_isdst
  • час: інформація про дату та час для конвертації.

wcsftime () Повернене значення

  • Після успіху функція wcsftime () повертає кількість широких символів, записаних у широкий масив символів, на який вказує str, не включаючи закінчення L ' 0'.
  • Якщо підрахунок було досягнуто до того, як можна було зберегти весь рядок, повертається 0 і вміст не визначено.

Приклад: Як працює функція 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; )

Коли ви запускаєте програму, результат буде:

 Сьогодні 21 квітня 2017 р. Поточний час: 14:42:45

Цікаві статті...