Unix时间戳字符串转int (unixtime)

#include <ctime>
#include <iostream>

using namespace std;

// 转换形如 2014-08-01 12:38:22 的时间戳到unixtime 
inline time_t GetUnixTime(const char *pszTimeStamp)
{
    struct tm stTime;
    memset(&stTime, 0, sizeof(stTime));
    
    sscanf(pszTimeStamp, "%d-%d-%d %d:%d:%d", 
           &stTime.tm_year, &stTime.tm_mon, &stTime.tm_mday,
           &stTime.tm_hour, &stTime.tm_min, &stTime.tm_sec);

    stTime.tm_year -= 1900;
    stTime.tm_mon --;
    return mktime(&stTime);
}

int main()
{
    time_t t = GetUnixTime("2014-08-01 12:38:22");
    cout << t << endl;
    cout << ctime(&t) << endl;
    cin >> ws;
    return 0;
} 

猜你喜欢

转载自blog.csdn.net/Cashey1991/article/details/38538373