Я пытаюсь получить метку времени для какой-то даты, в настоящее время я использую функцию mktime()
, но она генерирует метку времени для текущей даты, а не для той, которую я ввел на входе. Вот код:
#include <ctime>
#include <iostream>
using namespace std;
long long unixTimeStamp(
int year,
int month,
int day,
int hour,
int min,
int sec
) {
tm uts_time;
uts_time.tm_year = year - 1900;
uts_time.tm_mon = month - 1;
uts_time.tm_mday = day;
uts_time.tm_sec = sec;
uts_time.tm_min = min;
uts_time.tm_hour = hour;
time_t out = mktime(&uts_time);
return time(&out);
}
int main() {
cout << unixTimeStamp(2010,8,29,1,22,9) << endl;
return 0;
}
Выход:
1362541046
Может кто-нибудь сказать мне, что я делаю неправильно?