C++ 如何从c++;

C++ 如何从c++;,c++,C++,我已经准备好几天来处理这个问题了,我已经搜索并尝试了我发现的所有东西,但没有任何效果。我想将日期格式的字符串更改为unix时间戳(从1970年起的秒数),但没有任何东西可以提供我需要的结果。我已经准备好用这样的秒来计算实际时间了 time_t pom; time(&pom); 或者我试过了 time_t t = time(0); 但是,当我把实际日期(字符串格式)给那些我发现应该能够将其转换为UnixtTimeStamp或至少与之相近的方法时,它给出的结果与这个方法的实际时间完全不同

我已经准备好几天来处理这个问题了,我已经搜索并尝试了我发现的所有东西,但没有任何效果。我想将日期格式的字符串更改为unix时间戳(从1970年起的秒数),但没有任何东西可以提供我需要的结果。我已经准备好用这样的秒来计算实际时间了

time_t pom;
time(&pom);
或者我试过了

time_t t = time(0);
但是,当我把实际日期(字符串格式)给那些我发现应该能够将其转换为UnixtTimeStamp或至少与之相近的方法时,它给出的结果与这个方法的实际时间完全不同,我真的快疯了。。我还尝试编写自己的方法将日期转换为秒,如下所示:

 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;
}
但这也给了我糟糕的结果,或者我可能从那个时间方法中得到了糟糕的实际时间。。。 我真的不知道,我真的想找点什么。。。我将非常感谢您的帮助。

如果您的平台具有s功能,那么应该很容易。它还应该正确处理闰年和(更重要的是)闰秒。