标准c++的时间函数

标准c++关于时间最重要的类型有两个std::time_t    std::tm


基础知识

time_t是一个时间戳 ,单位秒 

tm 是一个结构   


time_t转tm的函数有

extern struct tm *gmtime (__const time_t *__timer) __THROW; //转成国际时间
extern struct tm *localtime (__const time_t *__timer) __THROW; //转成本地时间


tm转time_t的函数有

time_t mktime (struct tm *__tp)

获取当前时间:

time_t t = time(0); 

使用之前需要包含#include <time.h> 

 



应用

mysql++有个DateTime数据类型,从数据库读出来的值时间字段就存储为这种类型,要把它保存为tm类型怎么办?

通过查阅其头文件发现DateTime定义了一个 operator(time_t)的操作

因此转化的步骤是

DateTime dt=row["xxx"];  //xxx是时间类型字段

time_t t=(time_t)dt;

struct tm *ptm = localtime(&t);

tm mytm = *ptm;


你可能感兴趣的:(C++,timer,数据库,mysql,struct,存储)