Основы программирования в Linux
Основы программирования в Linux читать книгу онлайн
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
<b>#include <time.h></b>
<b>struct tm *localtime(const time_t *timeval);</b>
Функция
localtime
gmtime
gmtime
gmtime
localtime
Для преобразования разделенной на элементы структуры tm в общее внутреннее значение времени можно применить функцию
mktime
<b>#include <time.h></b>
<b>time_t mktime(struct tm *timeptr);</b>
Функция
mktime
time_t
Для вывода программой
date
asctime
ctime
<b>#include <time.h></b>
<b>char *asctime(const struct tm *timeptr);</b>
<b>char *ctime(const time_t *timeval);</b>
Функция
asctime
tm
timeptr
Sun Jun 9 12:34:56 2007n
У нее всегда фиксированный формат длиной 26 символов. Функция
ctime
asctime(localtime(timeval))
Она принимает необработанное машинное значение времени и преобразует его в местное время.
А теперь выполните упражнение 4.8.
ctime
В этом примере благодаря приведенному далее программному коду вы увидите функцию
ctime
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
int main() {
time_t timeval;
(void)time(&timeval);
printf ("The date is: %s", ctime(&timeval));
exit(0);
}
Откомпилируйте и затем запустите на выполнение ctime.c, и вы увидите нечто похожее на приведенные далее строки:
$ <b>./ctime</b>
The date is: Sat Jun 9 08:02:08 2007.
Как это работает
Программа ctime.c вызывает функцию
time
ctime
Для лучшего управления точным форматированием времени и даты ОС Linux и современные UNIX-подобные системы предоставляют функцию
strftime
sprintf
<b>#include <time.h></b>
<b>size_t strftime(char *s, size_t maxsize, const char *format, struct tm *timeptr);</b>
Функция
strftime
tm
timeptr
s
maxsize
format
printf
Таблица 4.3
Спецификатор преобразования | Описание |
---|---|
%a | Сокращенное название дня недели |
%А | Полное название дня недели |
%b | Сокращенное название месяца |
%B | Полное название месяца |
%c | Дата и время |
%d | День месяца, 01–31 |
%H | Час, 00–23 |
%I | Час по 12-часовой шкале, 01–12 |
%j | День в году, 001–366 |
%m | Номер месяца в году, 01–12 |
%M | Минуты, 00–59 |
%p | a.m. (до полудня) или p.m. (после полудня) |
%S | Секунды, 00–59 |
%u | Номер дня недели, 1–7 (1 соответствует понедельнику) |
%U | Номер недели в году, 01–53 (воскресенье — первый день недели) |
%V | Номер недели в году, 01–53 (понедельник — первый день недели) |
%w | Номер дня недели, 0–6 (0 соответствует воскресенью) |
%x | Дата в региональном формате |
%X | Время в региональном формате |
%y | Номер года, меньший 1900 |
%Y | Год |
%Z | Название часового пояса |
%% | Символ % |