· Начало · Статистика · WASM.RU · Noir.Ru ·

 WASM Phorum (Оффлайн - 24.11.2003) —› WASM.ZEN —› глюк функций gmtime, mktime

Посл.отвђт Сообщенiе


Дата: Июл 4, 2003 08:39:54

time_t time1;
time(&time1);
tm *tm1 = gmtime(&time1);
time_t time2 = mktime(tm1);
tm *tm2 = gmtime(&time2);

В tm2 время отстало от tm1 ~= на 7 часов
В чём тут дело ?


Дата: Июл 4, 2003 09:31:29

Аноним
Какой у Вас результат выдает такая программа:
#include <time.h>
#include <stdlib.h>
#include <stdio.h>
void main(void)
{
  _tzset();
  printf("_timezone = %ld\n", _timezone);
}


Дата: Июл 4, 2003 09:33:06

#include <time.h>
#include <stdio.h>
void main(void){
 time_t time1;
 time(&time1);
 tm *tm1 = gmtime(&time1);
 time_t time2 = mktime(tm1);
 tm *tm2 = gmtime(&time2);
 printf("%s %s", asctime(tm1), asctime(tm2));
}


Результат:
Fri Jul 04 10:23:38 2003
Fri Jul 04 10:23:38 2003

Нету глюка!


Дата: Июл 4, 2003 09:46:03

У меня часовой пояс GMT+6. Выходит, я должен это учитывать ?
Какой у Вас результат выдает такая программа
_timezone = -21600


Дата: Июл 4, 2003 09:54:59

Спасибо за подсказку:
time2 = time1 + _timezone


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.067