Ответы пользователя по тегу Solaris
  • Перевод часов в Solaris и localtime/mktime/asctime, что я делаю не так?

    @rstepanov Автор вопроса
    Больше ада:

    #include <time.h>
    #include <stdio.h>
    
    int main() {
    
        time_t t;
        struct tm tm1;
    
        tzset();
        time(&t);
        localtime_r(&t, &tm1);
    
        tm1.tm_mday = 27;
        tm1.tm_sec = 59;
        tm1.tm_min = 59;
        tm1.tm_hour = 0;
        tm1.tm_mon = 9;
    
        t = mktime(&tm1);
        printf(" tm_hour = %d:\t\t(%d) %s", tm1.tm_hour, t, asctime(&tm1));
    
        tm1.tm_mday = 26;
        tm1.tm_sec = 59;
        tm1.tm_min = 59;
        tm1.tm_hour = 0;
        tm1.tm_mon = 9;
    
        t = mktime(&tm1);
        printf(" tm_hour = %d:\t\t(%d) %s", tm1.tm_hour, t, asctime(&tm1));
    }


    Результат:
    ./tzcheck3
    tm_hour = 0: (1414360799) Mon Oct 27 00:59:59 2014
    tm_hour = 1: (1414274399) Sun Oct 26 01:59:59 2014
    Ответ написан
    Комментировать