Преобразовать системное время в локальное
#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 системной библиотеки