функция putenv на C
мне нужно подправить вот этот код на C, чтобы он выводил не локальное время, а в Калифорнии например, используя функцию putenv. Можете подсказать как это сделать? Вот сам код:
#include <sys/types.h>
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
extern char *tzname[];
main()
{
time_t now;
struct tm *sp;
(void) time( &now );
printf("%s", ctime( &now ) );
sp = localtime(&now);
printf("%d/%d/%02d %d:%02d %s\n",
sp->tm_mon + 1, sp->tm_mday,
sp->tm_year, sp->tm_hour,
sp->tm_min, tzname[sp->tm_isdst]);
exit(0);
}
Ответы (1 шт):
Автор решения: Fat-Zer
→ Ссылка
От localtime требуется, чтобы он работал так «как если бы» перед ним была вызвана tzset, так что нужно просто установить переменную TZ. Для Калифорнии это может выглядеть, например, так:
putenv("TZ=America/Los_Angeles")