Other Alias
timelocalОБЗОР
#include <time.h>
time_t timelocal(struct tm *tm);
time_t timegm(struct tm *tm);
Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):
timelocal(), timegm(): _BSD_SOURCE || _SVID_SOURCE
АТРИБУТЫ
Описание терминов данного раздела смотрите в attributes(7).| Интерфейс | Атрибут | Значение |
| timelocal(), timegm() | безвредность в нитях | безвредно (MT-Safe env locale) |
СООТВЕТСТВИЕ СТАНДАРТАМ
Данные функции являются нестандартными расширениями GNU, которые также присутствуют в BSD. Не используйте их; смотрите ЗАМЕЧАНИЯ.ЗАМЕЧАНИЯ
Функция timelocal() эквивалентна стандартной функции POSIX mktime(3). Нет ни одной причины когда-либо её использовать.Переносимым вариантом timegm() является установка переменной окружения TZ в UTC, вызов mktime(3) и восстановление значения TZ. Примерно так:
#include <time.h>
#include <stdlib.h>
time_t
my_timegm(struct tm *tm)
{
time_t ret;
char *tz;
tz = getenv("TZ");
if (tz)
tz = strdup(tz);
setenv("TZ", "", 1);
tzset();
ret = mktime(tm);
if (tz) {
setenv("TZ", tz, 1);
free(tz);
} else
unsetenv("TZ");
tzset();
return ret;
}

