|
CTIME(3C)НАЗВАНИЕ СИНТАКСИС #include <sys/types.h> #include <time.h> char *ctime (clock) time_t *clock; struct tm *localtime (clock) time_t *clock; struct tm *gmtime (clock) time_t *clock; char *asctime (tm) struct tm *tm; extern long timezone; extern int daylight; extern char *tzname[2]; void tzset ( ) ОПИСАНИЕ Функции localtime и gmtime возвращают указатели на
"tm"-структуры, описанные ниже. Localtime вносит поправку на часовой пояс и, возможно, на летнее время;
gmtime осуществляет преобразование непосредственно ко
всемирному времени, используемому в системе UNIX.
Функция asctime преобразует "tm"-структуру в цепочку из
26 символов (подобную приведенной выше) и возвращает
указатель на эту цепочку.
Об явления всех функций, внешних об ектов, а также
"tm"-структуры содержатся во включаемом файле Отличие tm_isdst от нуля указывает на то, что используется летнее время.
Внешняя переменная timezone типа long содержит разницу
в секундах между всемирным временем и местным поясным
временем. Скажем, для Восточного поясного времени EST
(см. ПРИМЕЧАНИЯ) эта разница составляет 5*60*60. Внешняя переменная daylight отлична от нуля тогда и только
тогда, когда должно осуществляться преобразование к
летнему времени в соответствии со стандартом США. Программа учитывает особенности этого преобразования в
1974, 1975 годах; при необходимости перечень таких лет
может быть расширен.
При наличии переменной окружения с именем TZ, функция
asctime использует значение этой переменной для задания
часового пояса, отличного от подразумеваемого. Значение
TZ представляет из себя трехбуквенное название местного
поясного времени (см. ПРИМЕЧАНИЯ), за которым следует
число, выражающее отставание поясного времени от гринвичского в часах и далее, возможно, следует трехбуквенное название летнего времени, действующего в данном поясе. К примеру, для Нью-Джерси следует установить значение EST5EDT. Исходя из установленного TZ можно изменить значения внешних переменных timezone и daylight, а
во внешнюю переменную
поместить названия временных шкал. Эти изменения осуществляет функция tzset; обычно она вызывается функцией
asctime, но может быть вызвана пользователем и явно.
Следует иметь в виду, что для большинства реализаций
системный профайл /etc/profile содержит присваивание
переменной TZ [см. profile(4), timezone(4)].
СМ. ТАКЖЕ СЮРПРИЗЫ ПРИМЕЧАНИЯ Московское время опережает всемирное на 3 часа.(Это так
называемое декретное московское время - не путать с поясным!)
Поясное время Москвы, лежащей во 2-м часовом поясе,
опережает всемирное на 2 часа.
Московское летнее время опережает всемирное на 4 часа.
Основная территория США покрывается 4-мя часовыми поясами, то есть 16-м, 17-м, 18-м, 19-м, носящими соответственно специальные названия: Pacific (Тихоокеанский), Mountain (Горный), Central (Центральный), Eastern
(Восточный). В них действует соответствующее поясное
(Standard) и во всех штатах основной территории, за
исключением Аризоны, летнее (Daylight [Saving]) время
(Time). Отсюда сокращенные названия: PST, MST, CST,
EST, а также PDT, MDT, CDT, EDT.
|
|