Вы можете использовать tzset(3)
:
#define _XOPEN_SOURCE
#include <time.h>
#include <stdio.h>
int main(void)
{
tzset();
printf("%ld, %d\n", timezone, daylight);
}
Который в моей системе печатает "-3600, 1".
tzset
также заполняет массив char *tzname[2]
именами стандартных и летних часовых поясов.