Путаница по Гринвичу с функциями ctime

Возможный дубликат:
Простой способ преобразовать структуру tm (выраженную в формате UTC) в тип time_t

Я пытаюсь преобразовать путь к файлу во время UNIX. Путь к файлу имеет формат: "~/foo/bar/ГГГГММДД/ЧЧММСС.egg"

Информация о времени, содержащаяся в пути, уже представлена ​​во времени UTC. Однако я не могу найти способ преобразовать время UTC во время UNIX, только для преобразования местного времени во время UNIX.

Мой соответствующий код выглядит следующим образом:

struct tm * timeinfo;
time_t timeint;

time(&timeint);
timeinfo = gmtime(&timeint);

timeinfo->tm_year = year-1900;
timeinfo->tm_mon = month - 1;
...

timeint = mktime(timeinfo);

Когда я попытался проверить это, проверив результат на http://www.csgnetwork.com/unixds2timecalc.html, я обнаружил, что он был отключен на 4 часа, предполагая, что он на самом деле вводит время, как если бы это было время в EDT, а не в UTC, как на самом деле. Что мне нужно сделать?


c gmt
person Frank Harris    schedule 20.06.2012    source источник
comment
Это может быть дубликатом этого вопроса: stackoverflow.com/q/283166/694576   -  person alk    schedule 20.06.2012
comment
Это так, спасибо. Я не нашел, когда искал. Правильный ли протокол для удаления этого вопроса?   -  person Frank Harris    schedule 20.06.2012
comment
Насколько я наблюдал такие проблемы с обманом, ваш вопрос был бы закрыт, а не удален. Во всяком случае мне кажется, что я не имею права голосовать за закрытие.   -  person alk    schedule 20.06.2012
comment
У меня тоже нет права голосовать за закрытие, но я пометил как дублирующий вопрос.   -  person Cacho Santa    schedule 20.06.2012
comment
@cacho Ааа, вот как это работает, помечая. Спасибо за подсказку.   -  person alk    schedule 20.06.2012