Scroll to navigation

ctime(3) 2007-10-27-16:31 ctime(3)

Назва

asctime, ctime, gmtime, localtime, mktime, asctime_r, ctime_r, gmtime_r, localtime_r - перетворює дату і час у доступну форму або ASCII

Огляд

#include <time.h>

char *asctime(const struct tm *tm);

char *asctime_r(const struct tm *tm, char *buf);

char *ctime(const time_t *timep);

char *ctime_r(const time_t *timep, char *buf);

struct tm *gmtime(const time_t *timep);

struct tm *gmtime_r(const time_t *timep, struct tm *result);

struct tm *localtime(const time_t *timep);

struct tm *localtime_r(const time_t *timep, struct tm *result);

time_t mktime(struct tm *tm);

Опис

Функції ctime(), gmtime() та localtime(), усі візьмуть як аргумент типу time_t, що відображає календарний час. Коли розглянуто як абсолютний час, цей аргумент дорівнює кількості секунд з 00:00:00 1-го Січня 1970-го року, Координованого Універсального Часу (UTC).

Функції asctime() і mktime(), обидві, візьмуть як аргумент час у людиночитаємому форматі, що являє собою числа, що відповідають рокові, місяцю, дню тощо.

Людиночитзємий формат зберігається у структурі tm, яку означено у заголовковому файлі <time.h>:


struct tm {
int tm_sec; /* секунди */
int tm_min; /* хвилини */
int tm_hour; /* години */
int tm_mday; /* день місяця */
int tm_mon; /* місяць */
int tm_year; /* рік */
int tm_wday; /* день тижня */
int tm_yday; /* день року */
int tm_isdst; /* літній час */
};
Членами структури tm являються:


Число секунд, які пройшли після виповнення хвилини, зазвичай у діапазоні 0 до 59, але може бути до 61, щоб дозволити перехідні секунди.


Число хвилин, які пройшли після виповнення години, у діапазоні 0 і 59.


Число годин, після півночі, у діапазоні 0 до 23.


День місяця, у діапазоні 1 до 31.


Кількість місяців, починаючи з Січня, в діапазоні 0 до 11.


Кількість років, починаючи з 1900.


Кількість днів, починаючи з неділі.


Кількість днів, починаючи з 1-го Січня, в діапазоні 0 до 365.


Прапорець, що вказує, чи діє літній час. Значення є додатковим, якщо так, нуль, якщо ні і від'ємне, якщо ця інформація недоступна.

Виклик ctime(t) еквівалентний asctime(localtime(t)). Він перетворює календарний час t у ланцюжок, що має форму



"Wed Jun 30 21:49:08 1993\n"
Використовуються наступні скорочення назв днів тижня: `Sun', `Mon', `Tue', `Wed', `Thu', `Fri' та `Sat'. Місяців: `Jan', `Feb', `Mar', `Apr', `May', `Jun', `Jul', `Aug', `Sep', `Oct', `Nov' і `Dec'. Для місяців - `Jan', `Feb', `Mar', `Apr', `May', `Jun', `Jul', `Aug', `Sep', `Oct', `Nov' і `Dec'. Повернене значення є покажчиком на статично-виділений ланцюжок, який можна перезаписати послідовними викликами будь-яких функцій дати і часу. Ця функція також надасть значення зовнішній змінній tzname (дивіться tzset(3)), яке вказуватиме теперішній часовий пояс. Схожа версія функції, ctime_r(), здійснює те саме, але зберігає ланцюжок у наданий користувачем буфер довжиною, щонайменше, 26 знаків. Їй не потрібно встановлювати tzname.

Функція gmtime() обертає календарний час timep у розгорнуте представлення, виражене у Координованому Універсальному Часі (Coordinated Universal Time - UTC). Вона може повернути NULL, якщо рік не вміщається в ціле число. Повернене значення є покажчиком на статично-відведену структуру (дані типу struct), яку можна перезаписати наступними викликами будь-яких функцій дати або часу. Функція gmtime_r() діє так само, але зберігає дані в надану користувачем структуру (тип struct).

Функція localtime() обертає календарний час у розгорнуте представлення, відносне до вказаного користувачем часового поясу. Функція діє так, ніби вона викликала tzset(3) і встановлює зовнішні змінні tzname до значення поточноого часового поясу,

2007-10-27-16:31 © 2005-2007 DLOU, GNU FDL