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

Функция wcsftime () в C ++ преобразует заданные дату и время из заданного календарного времени в строку широких символов с завершающим нулем в соответствии со строкой формата.

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

wcsftime () прототип

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

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

Информация о дате и времени, на которую указывает time, преобразуется в широкий символ с завершающим нулем на основе значения format и сохраняется в широком массиве, на который указывает str. Записано не более count байтов.

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

  • str: указатель на первый элемент массива широких символов для сохранения результата.
  • count: Максимальное количество широких символов для записи.
  • format: указатель на строку широких символов с нулевым символом в конце, определяющую формат преобразования. Строка формата состоит из спецификатора преобразования (начинающегося с% и, возможно, за которым следует E или O) и других обычных широких символов.
    Обычные широкие символы, включая завершающий нулевой широкий символ, копируются как есть в выходную широкую строку. Спецификаторы формата для wcsftime ()
    Спецификатор преобразования Описание Используемые поля
    % Записывает символ%
    п Записывает символ новой строки
    т Записывает символ горизонтальной табуляции
    Год
    Y Записывает 4 цифры года, например 2011 tm_year
    EY Записывает 4 цифры года в альтернативном представлении локали tm_year
    у Записывает последние 2 цифры года, диапазон (00, 99) tm_year
    Ой Записывает последние 2 цифры года в альтернативном представлении локали tm_year
    Эй Записывает год как смещение от альтернативного календарного периода языкового стандарта% EC (зависит от языкового стандарта) tm_year
    C Записывает первые 2 цифры года, диапазон (00,99) tm_year
    EC Записывает название базового года (периода) в альтернативном представлении локали, tm_year
    г Записывает год, основанный на неделях ISO 8601, т. Е. Год, содержащий указанную неделю. tm_year, tm_wday, tm_yday
    г Записывает последние 2 цифры года по стандарту ISO 8601 на основе недели, т. Е. Года, который содержит указанную неделю (диапазон (00,99)). tm_year, tm_wday, tm_yday
    Месяц
    б Записывает сокращенное название месяца, например Янв. tm_mon
    час То же, что и 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
    OW Записывает неделю года как% W с использованием альтернативной системы счисления. tm_year, tm_wday, tm_yday
    V Записывает неделю года в формате ISO 8601 (диапазон (01,53)). tm_year, tm_wday, tm_yday
    OV Записывает неделю года как% V, используя альтернативную систему счисления. tm_year, tm_wday, tm_yday
    День года / месяца
    j Записывает день года как десятичное число, диапазон (001,366) tm_yday
    d Записывает день месяца как десятичное число, диапазон (01,31) tm_mday
    Od Записывает день месяца как% d, используя альтернативную систему счисления. tm_mday
    е Записывает день месяца как десятичное число, диапазон (1,31) tm_mday
    Э Записывает день месяца как% e, используя альтернативную систему счисления. tm_mday
    День недели
    а Записывает сокращенное название дня недели, например Пт (в зависимости от региона) tm_wday
    А Записывает полное название дня недели, например Пятница (зависит от локали) tm_wday
    ш Записывает день недели как десятичное число, диапазон (0-6) (воскресенье - 0) tm_wday
    Ой Записывает день недели как% w в альтернативной системе счисления. tm_wday
    ты Записывает день недели как десятичное число, где понедельник равен 1 (формат ISO 8601), диапазон (1-7) tm_wday
    ОУ Записывает день недели как% u в альтернативной системе счисления. tm_wday
    Час, минута, секунда
    ЧАС Записывает час как десятичное число, диапазон (00,23) tm_hour
    ОЙ Записывает час как% H, используя альтернативную систему счисления. tm_hour
    я Записывает час как десятичное число, диапазон (01,12) tm_hour
    OI Записывает час как% I, используя альтернативную систему счисления. tm_hour
    M Записывает минуты как десятичное число, диапазон (00,59) tm_min
    ОМ Записывает минуты как% M, используя альтернативную систему счисления. tm_min
    S Записывает секунду как десятичное число, диапазон (00,60) tm_sec
    Операционные системы Записывает секунду как% S, используя альтернативную систему счисления tm_sec
    Другой
    c Записывает стандартную строку даты и времени, например Sun Oct 17 04:41:13 2010 (зависит от локали). все
    Ec Записывает альтернативную строку даты и времени локали все
    Икс Записывает локализованное представление даты (зависит от языкового стандарта) все
    Ex Записывает альтернативное представление даты локали все
    Икс Записывает локализованное представление времени (зависит от локали) все
    EX Записывает альтернативное представление времени локали все
    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
    п Записывает локализованные am или pm (зависит от локали) 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

Интересные статьи...