%а | Трехбуквенная аббревиатура для названия дня недели. |
%А | Полное название дня недели. |
%b | Трехбуквенная аббревиатура для названия месяца. |
%В | Полное название месяца. |
%с | Предпочтительное локальное выражение даты и времени (такое как возвращают функции ctime() и asctime() ). |
%d | День месяца в числовом виде (отсчет ведется от нуля). |
%Н | Час дня по 24-часовому времени (отсчет ведется от нуля). |
%I | Час дня по 12-часовому времени (отсчет ведется от нуля). |
%j | День года (отсчет ведется от единицы). |
%m | Месяц года (отсчет ведется от единицы). |
%М | Минута в часе (отсчет ведется от нуля). |
%p | Соответствующая строка для локального эквивалента выражений AM или PM. |
%S | Секунда в минуте (отсчет ведется от нуля). |
%U | Неделя года в числовом виде (первая неделя начинается с первого воскресенья года). |
%W | Неделя года в числовом виде (первая неделя начинается с первого понедельника года). |
%w | День недели в числовом виде (отсчет ведется с нуля). |
%x | Предпочтительное локальное выражение только для даты, без времени. |
%X | Предпочтительное локальное выражение только для времени, без даты. |
%y | Двухзначное представление года (без столетия). Не рекомендуется использовать такой формат — это потенциальный источник "проблемы 2000-го года". |
%Y | Полное четырехзначное числовое представление года. |
%Z | Название стандартной аббревиатуры часовой зоны. |
%% | Буквенный символ % . |
char *strptime(char *s, char *fmt, struct tm *tp);
Как и scanf()
, функция strptime()
преобразует строку в разобранный формат. Она пытается быть либеральной при интерпретации введенной строки s
в соответствии с форматирующей строкой fmt
. Она принимает те же самые управляющие последовательности, что и strftime()
, при этом для каждого типа ввода она допускает как аббревиатуры, так и полные имена. Она не различает символы верхнего и нижнего и регистра, а также не распознает %U
и %W
.
Функция strptime()
предусматривает несколько дополнительных управляющих последовательностей; также она интерпретирует несколько последовательностей иначе (не так, как strftime()
). В последующем списке перечислены только те управляющие последовательности, которые отличаются значительно (другими словами, выходят за рамки тех изменений, на которые мы уже указывали). Числа могут предваряться нулями, но это не обязательно.