Преобразовать системное время в локальное
#include <time.h>char * ctime( const time_t *timer );char * ctime_r( const time_t *timer,char *buf );
26
символов.libc
Функции ctime() и ctime_r() преобразовывают системное время, указанное в timer в локальное время и форматируют его в строку, содержащую ровно 26
символов, например:
Tue May 7 10:40:27 2002\n\0
Эта функция: | Эквивалентно вызову: |
---|---|
ctime() | asctime( localtime ( timer ) ); |
ctime_r() | asctime_r( localtime ( timer ), buf ) |
Функция ctime() помещает итоговую строку в статический буфер, который переиспользуется каждый раз, когда вызываются функции ctime() или asctime(). Вызовы gmtime() или localtime() могут также изменить данные в этом статическом буфере.
Результирующая строка функции ctime_r() содержится в буфере buf. |
Все поля имеют одинаковую длину. Символ новой строки '\n' и символ NUL
'\0' занимают две последние позиции строки.
Каждый раз, когда вызывается функция ctime() или ctime_r(), также вызывается функция tzset().
Системное время обычно получается с помощью функции time(). Это т.н. время Coordinated Universal Time (UTC) (также известное как Greenwich Mean Time (GMT)).
Обычно время на компьютере устанавливается с помощью утилиты date, чтобы получить время UTC, а затем используется переменная окружения TZ
или строка конфигурации _CS_TIMEZONE
для установки местного часового пояса.
Указатель на строку, содержащую отформатированное местное время, или NULL
в случае возникновения ошибки.
ctime() — ANSI, POSIX 1003.1; ctime_r() — POSIX 1003.1 Thread-Safe Functions
ctime()
ctime_r()
Функции asctime() и ctime() помещают результат в статический буфер, который переиспользуется при каждом вызове asctime() или ctime().
time_t, asctime(), asctime_r(), clock(), difftime(), gmtime(), localtime(), localtime_r(), mktime(), strftime(), time(), tzset()
Предыдущий раздел: Описание API системной библиотеки