Поделиться через


strftime, wcsftime, _strftime_l, _wcsftime_l

Строка формата времени.

size_t strftime(
   char *strDest,
   size_t maxsize,
   const char *format,
   const struct tm *timeptr 
);
size_t _strftime_l(
   char *strDest,
   size_t maxsize,
   const char *format,
   const struct tm *timeptr,
   _locale_t locale
);
size_t wcsftime(
   wchar_t *strDest,
   size_t maxsize,
   const wchar_t *format,
   const struct tm *timeptr 
);
size_t _wcsftime_l(
   wchar_t *strDest,
   size_t maxsize,
   const wchar_t *format,
   const struct tm *timeptr,
   _locale_t locale
);

Параметры

  • strDest
    Выходная строка.

  • maxsize
    Размер буфера strDest, измеряемый в символах (char или wchart_t).

  • format
    Строка Формат-элемента управления.

  • timeptr
    Структура данныхtm.

  • locale
    Языковой стандарт, который необходимо использовать.

Возвращаемое значение

strftime возвращает число символов, помещенных в strDest и wcsftime возвращает соответствующий количество расширенных символов.

Если общее количество символов, включая конечное значение null, большее, чем maxsizeи strftime и wcsftime возвращает значение 0, а содержимое strDest непредвиденны.

Число символов в strDest равен количеству литералов в format, а также всех символов, которые могут быть добавлены к format через коды форматирования.Конечный null строки не учитывается в возвращаемом значении.

Заметки

Функции strftime и wcsftime форматируют значение времени tm в timeptr в соответствии с предоставленным аргументу format и сохраняют результат в буфере strDest*.* Максимум символы maxsize помещаются в строку.Описание полей в структуре timeptr см. в разделе asctime.wcsftime количество расширенных символов strftime; его точки аргумента строка-указателя к характерной чертой.Эти функции ведут себя идентично в противном случае.

ПримечаниеПримечание

В версиях до Visual C++ 2005, документация описала параметр formatwcsftime как имеющий тип данных const wchar_t *, но фактическая реализация типа данных format было const char *.Реализация типа данных formatобновляется, отражая текущую документацию и предыдущее, т е const wchar_t *.

Эта функция проверяет его параметры.Если strDest, formatилиtimeptr указатель null или если структура данных tm приготовленная timeptr недопустима (например, если она содержит из значений диапазона на время или дата) или если строка format содержит недопустимый код форматирования, то вызывается обработчик недопустимого параметра, как описано в Проверка параметровразделе.Если выполнение может продолжить, функция возвращает 0 и задает errno к EINVAL.

Сопоставления подпрограммы Родов-Текста

Подпрограмма TCHAR.H

_MBCS не заданные _UNICODE &

Указанный символ _MBCS

Указанный _UNICODE

_tcsftime

strftime

strftime

wcsftime

Аргумент format состоит из одного или нескольких кодов; например, в printf, коды форматирования предшествуются символ процента (%).Символы, не начинаются с % без изменений копируются в strDest*.* Категория LC_TIME текущего языкового стандарта влияет на форматирование вывода strftime.(Дополнительные сведения о LC_TIMEсм. в разделе setlocale.) Функции без суффикса _l используют в данный момент установлен языковой стандарт.Версии этих функций с суффиксом _l идентичны, за исключением того, что они принимают языковой стандарт в качестве параметра, и используют то вместо в данный момент задания языкового стандарта.Дополнительные сведения см. в разделе Языковой стандарт.

Коды форматирования для strftime перечислены ниже:

  • %a
    Сокращенное название дня недели

  • %A
    Полное название дня недели

  • %b
    Сокращенное название месяца

  • %B
    Полное название месяца

  • %c
    Представление даты и времени, необходимое для языкового стандарта

  • %d
    День месяца, как десятичное число (01 – 31)

  • %H
    24 Час в часовом формате (00 – 23)

  • %I
    Часы в формате 12 часов (от 01 до 12).

  • %j
    День года как десятичное число (001 – 366)

  • %m
    Месяц, как десятичное число (01 – 12)

  • %M
    Минута как десятичное число (00 – 59)

  • %p
    Текущее утра. /P.M языкового стандарта.индикатор для часов 12 часов

  • %S
    Во-вторых, как десятичное число (00 – 59)

  • %U
    Неделя года, как десятичное число и воскресеньем как первым днем недели (от 00 до 53).

  • %w
    Weekday, как десятичное число (от 0 до 6; воскресенье 0)

  • %W
    Неделя года, как десятичное число с понедельником как первым днем недели (от 00 до 53).

  • %x
    Представление даты текущего языкового стандарта

  • %X
    Представление времени текущего языкового стандарта

  • %y
    Год без века, как десятичное число (00 – 99)

  • %Y
    Год с столетием, как десятичное число

  • %z, %Z
    Либо имя часового пояса или сокращение часового пояса, в зависимости от параметров реестра. нет символов, если часовой пояс неизвестен

  • %%
    Символ процента

Как в функции printf, может пометить # префикс любой код форматирования.В этом случае смысл кода формата заменяется следующим образом.

Код формата

Значение

%#a, %#A, %#b, %#B, %#p, %#X, %#z, %#Z, %#%

Пометить# не учитывается.

%#c

Подробное представление даты и времени, присваивает для текущего языкового стандарта.Например: «Среда 14-е март 1995., 12:41: 29".

%#x

Подробное представление даты, присваивает текущему языковому стандарту.Например: «Среда 14-е март 1995.».

%#d, %#H, %#I, %#j, %#m, %#M, %#S, %#U, %#w, %#W, %#y, %#Y

Удалите начальные нули (если есть).

Требования

Процедура

Обязательный заголовок

strftime

<time.h>

wcsftime

<time.h> или <wchar.h>

_strftime_l

<time.h>

_wcsftime_l

<time.h> или <wchar.h>

Дополнительные сведения о совместимости см. в разделе Совместимость во введении.

Пример

См. пример для Время.

Эквивалент в .NET Framework

См. также

Ссылки

Языковой стандарт

Управление временем

Управление строками (CRT)

localeconv

setlocale, _wsetlocale

функции strcoll

strxfrm, wcsxfrm, _strxfrm_l, _wcsxfrm_l