mktime возвращает неверную метку времени (отключено на целый месяц)
я используюmktime
чтобы создать метку времени Unix из моего текущего местного времени:
#include <time.h>
int _tmain(int argc, _TCHAR* argv[])
{
struct tm info;
// 16.05.2014
info.tm_mday = 16;
info.tm_mon = 5;
info.tm_year = 114; // Years since 1900
// 08:00:00 Uhr
info.tm_hour = 8;
info.tm_min = 0;
info.tm_sec = 0;
// Convert to Unix timestamp
info.tm_isdst = -1;
time_t timestamp = mktime(&info);
printf("Timestamp: %i", timestamp);
}
Это дает мне:
1402898400
При преобразовании этого обратно в удобочитаемое время (через некоторый веб-сайт) это переводится:
16.06.2014 08:00:00
Как вы можете видеть, это на месяц меньше, чем я ожидал (положил в мае (5), вышел в июне (6)). Зачем?