将日期转换为整数C ++

时间:2015-06-01 17:08:46

标签: c++ visual-studio-2012

我有以下代码可以从string的日期转换为integer

#include <sstream>
#include <string>
#include <ctime>

typedef long long int llint;

llint stringDate2LLInt(std::string date, std::string format)
{
    std::stringstream ss(date);
    std::tm dt;
    ss >> std::get_time(&dt, format.c_str());
    std::time_t tt = std::mktime(&dt);
    return tt;
}

int main()
{
    std::string date("9/29/2014 17:48");
    std::string format("%m/%d/%Y %H:%M");
    std::cout << date << "->" << stringDate2LLInt(date, format) << std::endl;
    std::cout << date << "->" << stringDate2LLInt(date, format) << std::endl;
    std::cout << date << "->" << stringDate2LLInt(date, format) << std::endl;

    return 0;
}

但是,使用相同的参数值调用它,即"9/29/2014 17:48""%m/%d/%Y %H:%M"每次结果都不同。为什么会这样?

我想要做的是获得给定00:00 hours, Jan 1, 1970 UTC以来date以来的毫秒数(或几秒)。我能以任何方式做到这一点吗?

0 个答案:

没有答案