close
Пространства имён
Варианты
Действия

wcsftime

Материал из cppreference.com
< c | chrono

<metanoindex/>

<tbody> </tbody>
Определено в заголовочном файле <wchar.h>
size_t wcsftime( wchar_t* str, size_t count, const wchar_t* format, tm* time );
Преобразует дату и время из данного time календарного времени, чтобы нулем строку широких символов str в соответствии с форматом format строку. До count байты записываются.
Оригинал:
Converts the date and time information from a given calendar time time to a null-terminated wide character string str according to format string format. Up to count bytes are written.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Параметры

str
указатель на первый элемент массива wchar_t для вывода
Оригинал:
pointer to the first element of the wchar_t array for output
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
count
Максимальное количество широких символов для записи
Оригинал:
maximum number of wide characters to write
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
format
Указатель на завершающуюся нулем строку широких символов, определяющая формат преобразования.

Строка формата состоит из нуля или более спецификаторов преобразования и обычных символов (кроме %). Все обычные символы, включая завершающий нулевой символ, копируются в выходную строку без изменений. Каждая спецификация преобразования начинается с символа %, за которым может следовать модификатор E или O (игнорируется, если не поддерживается локалью), за которым следует символ, определяющий поведение спецификатора. Доступны следующие спецификаторы формата:

Спецификатор
преобразования
Объяснение Используемые поля
% записывает литерал %. Полная спецификация преобразования должна быть %%.
n
(C++11)
записывает символ новой строки
t
(C++11)
записывает символ горизонтальной табуляции
Год
Y записывает год как десятичное число, например, 2017 tm_year
EY
(C++11)
записывает год в альтернативном представлении, например, 平成23年 (год Хэйсэй 23) вместо 2011年 (год 2011) в локали ja_JP tm_year
y записывает последние 2 цифры года в виде десятичного числа (диапазон [00,99]) tm_year
Oy
(C++11)
записывает последние 2 цифры года, используя альтернативную систему счисления, например 十一 вместо 11 в локали ja_JP tm_year
Ey
(C++11)
записывает год как смещение от альтернативного календарного периода локали %EC (зависит от локали) tm_year
C
(C++11)
записывает первые 2 цифры года в виде десятичного числа (диапазон [00,99]) tm_year
EC
(C++11)
записывает название базового года (периода) в альтернативном представлении локали, например, 平成 (эпоха Хэйсэй) в ja_JP tm_year
G
(C++11)
записывает год по неделям согласно ISO 8601, то есть год, который содержит указанную неделю.

В стандарте ISO 8601 недели начинаются с понедельника, и первая неделя года должна соответствовать следующим требованиям:

  • Включать 4 января
  • Включать первый четверг года
tm_year, tm_wday, tm_yday
g
(C++11)
записывает последние 2 цифры года по неделям ISO 8601, т.е. года, содержащего указанную неделю (диапазон [00,99]).

В стандарте ISO 8601 недели начинаются с понедельника, и первая неделя года должна соответствовать следующим требованиям:

  • Включать 4 января
  • Включать первый четверг года
tm_year, tm_wday, tm_yday
Месяц
b записывает сокращённое название месяца, например Oct (зависит от локали) tm_mon
h
(C++11)
синоним b tm_mon
B записывает название полного месяца, например, October (зависит от локали) tm_mon
m записывает месяц в виде десятичного числа (диапазон [01,12]) tm_mon
Om
(C++11)
записывает месяц, используя альтернативную систему счисления, например, 十二 вместо 12 в локали ja_JP tm_mon
Неделя
U записывает неделю года в виде десятичного числа (воскресенье - первый день недели) (диапазон [00,53]) tm_year, tm_wday, tm_yday
OU
(C++11)
записывает неделю года, как %U, используя альтернативную систему счисления, например, 五十二 вместо 52 в локали ja_JP tm_year, tm_wday, tm_yday
W записывает неделю года в виде десятичного числа (понедельник - первый день недели) (диапазон [00,53]) tm_year, tm_wday, tm_yday
OW
(C++11)
записывает неделю года, как %W, используя альтернативную систему счисления, например, 五十二 вместо 52 в локали ja_JP tm_year, tm_wday, tm_yday
V
(C++11)
записывает неделю года ISO 8601 (диапазон [01,53]).

В стандарте ISO 8601 недели начинаются с понедельника, и первая неделя года должна соответствовать следующим требованиям:

  • Включать 4 января
  • Включать первый четверг года
tm_year, tm_wday, tm_yday
OV
(C++11)
записывает неделю года, как %V, используя альтернативную систему счисления, например, 五十二 вместо 52 в локали ja_JP tm_year, tm_wday, tm_yday
День года/месяца
j записывает день года в виде десятичного числа (диапазон [001,366]) tm_yday
d записывает день месяца в виде десятичного числа (диапазон [01,31]) tm_mday
Od
(C++11)
записывает день месяца с отсчётом от нуля, используя альтернативную систему счисления, например, 二十七 вместо 27 в локали ja_JP

Одиночному символу предшествует пробел.

tm_mday
e
(C++11)
записывает день месяца в виде десятичного числа (диапазон [1,31]).

Перед одиночной цифрой ставится пробел.

tm_mday
Oe
(C++11)
записывает день месяца с отсчётом от единицы, используя альтернативную систему счисления, например, 二十七 вместо 27 в локали ja_JP

Одиночному символу предшествует пробел.

tm_mday
День недели
a записывает сокращённое название дня недели, например, Fri (зависит от локали) tm_wday
A записывает полный день недели, например, Friday (зависит от локали) tm_wday
w записывает день недели в виде десятичного числа, где воскресенье равно 0 (диапазон [0-6]) tm_wday
Ow
(C++11)
записывает день недели, где воскресенье равно 0, используя альтернативную систему счисления, например, 二 вместо 2 в локали ja_JP tm_wday
u
(C++11)
записывает день недели в виде десятичного числа, где понедельник равен 1 (формат ISO 8601) (диапазон [1-7]) tm_wday
Ou
(C++11)
записывает день недели, где понедельник равен 1, используя альтернативную систему счисления, например, 二 вместо 2 в локали ja_JP tm_wday
Часы, минуты, секунды
H записывает час в виде десятичного числа, 24-часовой формат (диапазон [00-23]) tm_hour
OH
(C++11)
записывает час в 24-часовом формате, используя альтернативную систему счисления, например, 十八 вместо 18 в локали ja_JP tm_hour
I записывает час в виде десятичного числа, 12-часовой формат (диапазон [01,12]) tm_hour
OI
(C++11)
записывает час из 12-часового формата, используя альтернативную систему счисления, например, 六 вместо 06 в локали ja_JP tm_hour
M записывает минуты в виде десятичного числа (диапазон [00,59]) tm_min
OM
(C++11)
записывает минуты, используя альтернативную систему счисления, т.е. 二十五 вместо 25 в локали ja_JP tm_min
S записывает секунды как десятичное число (диапазон [00,60]) tm_sec
OS
(C++11)
записывает секунды, используя альтернативную систему счисления, т.е. 二十四 вместо 24 в локали ja_JP tm_sec
Другое
c записывает стандартную строку даты и времени, например, Sun Oct 17 04:41:13 2010 (зависит от локали) все
Ec
(C++11)
записывает альтернативную строку даты и времени, например, используя 平成23年 (год Хэйсэй 23) вместо 2011年 (год 2011) в локали ja_JP все
x записывает локализованное представление даты (зависит от локали) все
Ex
(C++11)
записывает альтернативное представление даты, например, используя 平成23年 (год Хэйсэй 23) вместо 2011年 (год 2011) в локали ja_JP все
X записывает локализованное представление времени, например, 18:40:20 или 6:40:20 PM (зависит от локали) все
EX
(C++11)
записывает альтернативное представление времени (зависит от локали) все
D
(C++11)
эквивалентно "%m/%d/%y" tm_mon, tm_mday, tm_year
F
(C++11)
эквивалентно "%Y-%m-%d" (формат даты ISO 8601) tm_mon, tm_mday, tm_year
r
(C++11)
записывает локализованное 12-часовое время (зависит от локали) tm_hour, tm_min, tm_sec
R
(C++11)
эквивалентно "%H:%M" tm_hour, tm_min
T
(C++11)
эквивалентно "%H:%M:%S" (формат времени ISO 8601) tm_hour, tm_min, tm_sec
p записывает локализованное a.m. или p.m. (зависит от локали) tm_hour
z
(C++11)
записывает смещение от UTC в формате ISO 8601 (например, -0430), или без символов, если информация о часовом поясе недоступна tm_isdst
Z записывает зависящее от локали название или аббревиатуру часового пояса, или без символов, если информация о часовом поясе недоступна tm_isdst
Оригинал:
pointer to a null-terminated wide character string specifying the format of conversion.

Строка формата состоит из нуля или более спецификаторов преобразования и обычных символов (кроме %). Все обычные символы, включая завершающий нулевой символ, копируются в выходную строку без изменений. Каждая спецификация преобразования начинается с символа %, за которым может следовать модификатор E или O (игнорируется, если не поддерживается локалью), за которым следует символ, определяющий поведение спецификатора. Доступны следующие спецификаторы формата:

Спецификатор
преобразования
Объяснение Используемые поля
% записывает литерал %. Полная спецификация преобразования должна быть %%.
n
(C++11)
записывает символ новой строки
t
(C++11)
записывает символ горизонтальной табуляции
Год
Y записывает год как десятичное число, например, 2017 tm_year
EY
(C++11)
записывает год в альтернативном представлении, например, 平成23年 (год Хэйсэй 23) вместо 2011年 (год 2011) в локали ja_JP tm_year
y записывает последние 2 цифры года в виде десятичного числа (диапазон [00,99]) tm_year
Oy
(C++11)
записывает последние 2 цифры года, используя альтернативную систему счисления, например 十一 вместо 11 в локали ja_JP tm_year
Ey
(C++11)
записывает год как смещение от альтернативного календарного периода локали %EC (зависит от локали) tm_year
C
(C++11)
записывает первые 2 цифры года в виде десятичного числа (диапазон [00,99]) tm_year
EC
(C++11)
записывает название базового года (периода) в альтернативном представлении локали, например, 平成 (эпоха Хэйсэй) в ja_JP tm_year
G
(C++11)
записывает год по неделям согласно ISO 8601, то есть год, который содержит указанную неделю.

В стандарте ISO 8601 недели начинаются с понедельника, и первая неделя года должна соответствовать следующим требованиям:

  • Включать 4 января
  • Включать первый четверг года
tm_year, tm_wday, tm_yday
g
(C++11)
записывает последние 2 цифры года по неделям ISO 8601, т.е. года, содержащего указанную неделю (диапазон [00,99]).

В стандарте ISO 8601 недели начинаются с понедельника, и первая неделя года должна соответствовать следующим требованиям:

  • Включать 4 января
  • Включать первый четверг года
tm_year, tm_wday, tm_yday
Месяц
b записывает сокращённое название месяца, например Oct (зависит от локали) tm_mon
h
(C++11)
синоним b tm_mon
B записывает название полного месяца, например, October (зависит от локали) tm_mon
m записывает месяц в виде десятичного числа (диапазон [01,12]) tm_mon
Om
(C++11)
записывает месяц, используя альтернативную систему счисления, например, 十二 вместо 12 в локали ja_JP tm_mon
Неделя
U записывает неделю года в виде десятичного числа (воскресенье - первый день недели) (диапазон [00,53]) tm_year, tm_wday, tm_yday
OU
(C++11)
записывает неделю года, как %U, используя альтернативную систему счисления, например, 五十二 вместо 52 в локали ja_JP tm_year, tm_wday, tm_yday
W записывает неделю года в виде десятичного числа (понедельник - первый день недели) (диапазон [00,53]) tm_year, tm_wday, tm_yday
OW
(C++11)
записывает неделю года, как %W, используя альтернативную систему счисления, например, 五十二 вместо 52 в локали ja_JP tm_year, tm_wday, tm_yday
V
(C++11)
записывает неделю года ISO 8601 (диапазон [01,53]).

В стандарте ISO 8601 недели начинаются с понедельника, и первая неделя года должна соответствовать следующим требованиям:

  • Включать 4 января
  • Включать первый четверг года
tm_year, tm_wday, tm_yday
OV
(C++11)
записывает неделю года, как %V, используя альтернативную систему счисления, например, 五十二 вместо 52 в локали ja_JP tm_year, tm_wday, tm_yday
День года/месяца
j записывает день года в виде десятичного числа (диапазон [001,366]) tm_yday
d записывает день месяца в виде десятичного числа (диапазон [01,31]) tm_mday
Od
(C++11)
записывает день месяца с отсчётом от нуля, используя альтернативную систему счисления, например, 二十七 вместо 27 в локали ja_JP

Одиночному символу предшествует пробел.

tm_mday
e
(C++11)
записывает день месяца в виде десятичного числа (диапазон [1,31]).

Перед одиночной цифрой ставится пробел.

tm_mday
Oe
(C++11)
записывает день месяца с отсчётом от единицы, используя альтернативную систему счисления, например, 二十七 вместо 27 в локали ja_JP

Одиночному символу предшествует пробел.

tm_mday
День недели
a записывает сокращённое название дня недели, например, Fri (зависит от локали) tm_wday
A записывает полный день недели, например, Friday (зависит от локали) tm_wday
w записывает день недели в виде десятичного числа, где воскресенье равно 0 (диапазон [0-6]) tm_wday
Ow
(C++11)
записывает день недели, где воскресенье равно 0, используя альтернативную систему счисления, например, 二 вместо 2 в локали ja_JP tm_wday
u
(C++11)
записывает день недели в виде десятичного числа, где понедельник равен 1 (формат ISO 8601) (диапазон [1-7]) tm_wday
Ou
(C++11)
записывает день недели, где понедельник равен 1, используя альтернативную систему счисления, например, 二 вместо 2 в локали ja_JP tm_wday
Часы, минуты, секунды
H записывает час в виде десятичного числа, 24-часовой формат (диапазон [00-23]) tm_hour
OH
(C++11)
записывает час в 24-часовом формате, используя альтернативную систему счисления, например, 十八 вместо 18 в локали ja_JP tm_hour
I записывает час в виде десятичного числа, 12-часовой формат (диапазон [01,12]) tm_hour
OI
(C++11)
записывает час из 12-часового формата, используя альтернативную систему счисления, например, 六 вместо 06 в локали ja_JP tm_hour
M записывает минуты в виде десятичного числа (диапазон [00,59]) tm_min
OM
(C++11)
записывает минуты, используя альтернативную систему счисления, т.е. 二十五 вместо 25 в локали ja_JP tm_min
S записывает секунды как десятичное число (диапазон [00,60]) tm_sec
OS
(C++11)
записывает секунды, используя альтернативную систему счисления, т.е. 二十四 вместо 24 в локали ja_JP tm_sec
Другое
c записывает стандартную строку даты и времени, например, Sun Oct 17 04:41:13 2010 (зависит от локали) все
Ec
(C++11)
записывает альтернативную строку даты и времени, например, используя 平成23年 (год Хэйсэй 23) вместо 2011年 (год 2011) в локали ja_JP все
x записывает локализованное представление даты (зависит от локали) все
Ex
(C++11)
записывает альтернативное представление даты, например, используя 平成23年 (год Хэйсэй 23) вместо 2011年 (год 2011) в локали ja_JP все
X записывает локализованное представление времени, например, 18:40:20 или 6:40:20 PM (зависит от локали) все
EX
(C++11)
записывает альтернативное представление времени (зависит от локали) все
D
(C++11)
эквивалентно "%m/%d/%y" tm_mon, tm_mday, tm_year
F
(C++11)
эквивалентно "%Y-%m-%d" (формат даты ISO 8601) tm_mon, tm_mday, tm_year
r
(C++11)
записывает локализованное 12-часовое время (зависит от локали) tm_hour, tm_min, tm_sec
R
(C++11)
эквивалентно "%H:%M" tm_hour, tm_min
T
(C++11)
эквивалентно "%H:%M:%S" (формат времени ISO 8601) tm_hour, tm_min, tm_sec
p записывает локализованное a.m. или p.m. (зависит от локали) tm_hour
z
(C++11)
записывает смещение от UTC в формате ISO 8601 (например, -0430), или без символов, если информация о часовом поясе недоступна tm_isdst
Z записывает зависящее от локали название или аббревиатуру часового пояса, или без символов, если информация о часовом поясе недоступна tm_isdst
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

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

Число широких символов, написанных в широкий массив символов, на которую указывает str не включая завершающий L'\0' на успех. Если count была достигнута до того, как вся строка может быть сохранена, 0 возвращается и содержание являются неопределенными.
Оригинал:
number of wide characters written into the wide character array pointed to by str not including the terminating L'\0' on success. If count was reached before the entire string could be stored, 0 is returned and the contents are undefined.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Пример

См. также

преобразует объект tm в настраиваемое текстовое представление
(функция) [править]