C++时间

先来补充一点常识:
1秒 = 1000毫秒
1毫秒 = 1000微秒
1s = 1000ms
1ms = 1000μs

在C++中,tm结构在time.h中的定义如下:

struct tm
{
          int tm_sec;       /* 秒 – 取值区间为[0,59] */
          int tm_min;       /* 分 - 取值区间为[0,59] */
          int tm_hour;      /* 时 - 取值区间为[0,23] */
          int tm_mday;      /* 一个月中的日期 - 取值区间为[1,31] */
          int tm_mon;       /* 月份(从一月开始,0代表一月) - 取值区间为[0,11] */
          int tm_year;      /* 年份,其值等于实际年份减去1900 */
          int tm_wday;      /* 星期 – 取值区间为[0,6],其中0代表星期天,1代表星期一,以此类推 */
          int tm_yday;      /* 从每年的1月1日开始的天数 – 取值区间为[0,365],其中0代表1月1日,1代表1月2日,以此类推 */
          int tm_isdst;     /* 夏令时标识符,实行夏令时的时候,tm_isdst为正。不实行夏令时的进候,tm_isdst为0;不了解情况时,tm_isdst为负 */
};

函数原型 time_t mktime(strcut tm* timeptr);
函数说明
mktime用来将参数timeptr所指的tm结构数据转换成从公元1970年1月1日0时0分0秒算起至今的UTC时间所经过的秒数。
返回值
返回经过的秒数。

#include 
#include 
#include 
using namespace std;

/*
编译: g++ main.cpp -o main
*/
int main()
{
    string src = "2019-10-17 14:48:27";
    string format = "%Y-%m-%d %H:%M:%S";
    struct tm res;
    strptime(src.c_str(), format.c_str(), &res);
    time_t sec = mktime(&res);
    cout << sec << endl;
	
    return 0;
}
/*
output:
1571294907
*/

 

你可能感兴趣的:(研究)