На этом шаге мы перечислим некоторые параметры, используемые для форматирования даты и времени.
Фацеты time_get и time_put из категории time предоставляют средства разбора и форматирования времени и даты. Функции, выполняющие эти операции, работают с объектами типа tm, определяемого в заголовочном файле <ctime>. Объекты не передаются напрямую; в аргументах передаются указатели на них.
Оба фацета из категории time в значительной степени зависят от функции strftime() (также определяемой в заголовочном файле <ctime>). Преобразование объекта tm к текстовому представлению описывается строкой, содержащей спецификаторы формата. Краткая сводка спецификаторов приведена в таблице 1. Эти же спецификаторы используются фацетом time_put.
Спецификатор | Смысл | Пример |
---|---|---|
%а | Сокращенное название дня недели | Mon |
%А | Полное название дня недели | Monday |
%b | Сокращенное название месяца | Jul |
%В | Полное название месяца | July |
%с | Представление даты и времени для текущего локального контекста | Jul 12 21:53:22 1998 |
%d | День месяца | 12 |
%Н | Час (по 24-часовой шкале) | 21 |
%I | Час (по 12-часовой шкале) | 9 |
%j | День года | 193 |
%m | Порядковый номер месяца | 7 |
%М | Минуты | 53 |
%р | Обозначение половины суток (am или рm) | pm |
%S | Секунды | 22 |
%U | Номер недели, начиная с первого воскресенья | 28 |
%W | Номер недели, начиная с первого понедельника | 28 |
%w | Порядковый номер дня недели (воскресенье==0) | 0 |
%х | Представление даты для текущего локального контекста | Jul 12 1998 |
%Х | Представление времени для текущего локального контекста | 21:53:22 |
%у | Год (без указания века) | 98 |
%Y | Год (с указанием века) | 1998 |
%Z | Часовой пояс | MEST |
%% | Литерал % | % |
Конечно, точный вид строки, созданной функцией strftime(), зависит от текущего локального контекста. Примеры в таблице приведены для локального контекста "С".
На следующем шаге мы рассмотрим лексический разбор даты и времени.