我几天已经开始讨论这个问题了,我搜索并尝试了我发现的所有内容,但没有任何作用。我想更改日期格式的字符串,如下所示:02.04.2016到unix时间戳(从1970年开始的秒数),没有任何内容给出我需要的结果。我已经准备好了这样的实际时间
time_t pom;
time(&pom);
或者我试过
time_t t = time(0);
但是当我将实际日期的日期(字符串格式)给我发现的应该能够将其转换为unixtimestamp的方法或至少接近它的方法时,它给出了比这种方法更绝对不同的结果实际的时间,我真的在这里疯狂..我也试着写自己的方法将日期转换为秒,如下所示:
int Velkoslad::konvertujNaSekundy(std::string datum)
{
int datumy[12] = { 31, 28, 31, 30, 31 , 30, 31 , 31, 30 , 31, 30 ,31 };
std::string datumD = datum;
long long dni = std::stoi(datumD.substr(0, 2));
long long mesiace = std::stoi(datumD.substr(3, 2));
long long rok = std::stoi(datumD.substr(6, 4));
long long sekundaDni = dni * 86400;
long long mesiaceSek = 0;
if (mesiace == 2) { //18748800,2419200,10368000
if (rok % 4 == 0)
mesiaceSek = (datumy[(mesiace - 1)] + 1) * 86400;
else
mesiaceSek = datumy[(mesiace - 1)] * 86400;
}
else
mesiaceSek = datumy[(mesiace - 1)] * 86400;
long long rokSek = 0;
if (rok % 4 == 0)
rokSek = ((rok - 1970) * 28857600) + 86400;
else
rokSek = (rok - 1970) * 28857600;
long long datumVsec = 0;
datumVsec += sekundaDni + mesiaceSek + rokSek;
return datumVsec;
}
但是这也给我带来了不好的结果,或者说我从那个时间方法或者某些方面得到了不好的实际时间...... 我真的不知道,我真的试图找到一些东西......我会非常感谢每一个帮助......