вывести время калифорнии на си

у меня есть код на си:

#include <sys/types.h>
#include <stdio.h>
#include <time.h>
#include <stdlib.h>

extern char *tzname[];
int main()
{
time_t now;
setenv("TZ", "AMERICA/LOS_ANGELES", 1);
tzset();
(void) time( &now );

printf("%s", ctime( &now ) );

struct tm *sp;
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);
}

но он выводит на 11 часов больше, чем надо. Как вывести правильное время в калифорнии?


Ответы (0 шт):