Шрифт:
6.1.3. Форматирование даты и времени
Примеры в предыдущем разделе показали, как поля в
6.1.3.1. Простое форматирование времени:
Две первые стандартные процедуры, перечисленные ниже, выводят данные в фиксированном формате:
Как и в случае с
После запуска эта программа выводит результат в виде: '
Рис. 6.1. Возвращаемая функциями
Значительная часть старого кода Unix полагается на тот факт, что значения в возвращенной строке имеют фиксированную позицию. При использовании этих функций помните, что они включают завершающий символ конца строки. Поэтому наш небольшой пример программы использует для
6.1.3.2. Сложное форматирование времени:
Хотя часто достаточно использования
• Формат вывода фиксирован. Нет способа изменить порядок элементов.
• В вывод не включаются сведения о часовом поясе.
• В выводе используются сокращенные названия месяца и дня.
• В выводе используются английские названия месяцев и дней.
По этим причинам C89 ввело стандартную библиотечную процедуру
Буфер для форматированной строки.
Размер буфера.
Форматирующая строка.
Указатель на
Форматирующая строка содержит символы букв, смешанные о описателями преобразования, указывающими, что должно быть помещено в строку, такими, как полное имя дня недели, час в соответствии с 24-часовым или 12-часовым циклом, наличие указателей am или p.m [64] , и т.д. (Вскоре будут приведены примеры.)
64
a.m. — от ante meridiem (до полудня), p.m. — от post meridiem (пополудни), американская система обозначения 12-часового цикла времени суток. — Примеч. перев.
Если всю строку можно отформатировать с использованием не более