Описание функций C (Си) / C++ - localtime

Описание функций C (Си) / C++ - localtime


#include
struct tm *localtime(time);
long *time; указатель на хранимое
время

Описание.

Функция localtime преобразовывает время, хранимое как
long-значение, к структуре. Long-значение time представляет се-
кунды, прошедшие от 00:00:00 значения времени по Гринвичу, т.е. с
1 января 1980 года. Это значение обычно получается из вызова фун-
кции time.
Функция localtime разрывает значение time, корректирует зо-
ну местного времени и переход на летнее/зимнее время, если он
назначен, и запоминает откорректированное время в структуре типа
tm.(Смотрите gmtime для описания полей стрктуры tm.)
В MS DOS даты раньше 1980 года не понимаются. Если time
представляет дату перед 1 января 1980 года ,localtime возвращает

символьную строку, представленную 00:00:00 January 1,1980.
Функция localtime делает изменения для зоны местного време-
ни, если пользователь впервые установил переменную окружения TZ.
Значением TZ должна быть названная трехбуквенная временная зона,
например PST, следующая за возможным знаковым числом, задающим
различие между значением времени по Гринвичу и зоной местного
времени. Число должно следовать за трехбуквенной зоной перехода
на летнее/зимнее время (например PDT). Функция localtime исполь-
зует различия между значением времени по Гринвичу и местным вре-
менем для установки значения запомненного времени. Если в уста-
новке TZ присутствует зона перехода на летнее/зимнее время,
localtime также изменяет переход на летнее/зимнее время. Если в
TZ нет текущего значения, используется значение PST8PDT, устанав-
ливаемое по умолчанию.
Когда TZ установлена, автоматически устанавливаются три
другие переменные окружения - timezone, daylight, tzname. Смотри-
те функцию tzset для описания этих переменных.

Возвращаемое значение.

Функция localtime возвращает указатель на результат в
структуре. Возвращаемого значения в случае ошибки нет.
См.также asctime, ctime, ftime, gmtime, time, tzset.

Пример:

#include
#include
main()
{
struct tm *newtime;
char *am_pm="PM";
time_t long_time;
time(&long_time);
newtime=localtime(&long_time);
if(newtime->tm_hourtm_hour>12)
newtime->tm_hour-=12;
printf("%.19s %sn", asctime(newtime), am_pm);
}

На выходе:
Tue Dec 10 11:30:12 AM






Опубликовал admin
11 Мар, Вторник 2008г.



Программирование для чайников.