关于mysql时间戳字段的疑问解决方法



关于mysql时间戳字段的疑问

mysql的时间戳字段存储是以什么方式存储的?

为什么我直接select 选择出来显示的方式是”yyyy-mm-dd hh::mm::ss”

这不就是datetime吗?

如果是这样,我直接拿Now跟选出来的值直接比较不就行了?可惜实际使用的时候不行,

我只好先做转换。转成time_t结构后再做比较。

折腾呀。以下是我今天折腾的结果。

#include <time.h>

double dblTime;

time_t t;

time(&t);

struct tm* now=localtime(&t);

time_t tmp1=mktime(now);

以上获取 当前时间转换成time_t结构

以下row.LoginTime为取出的数据,注意取出的year要-1900,月份要-1;

struct tm history;

history.tm_sec=row.LoginTime.second(); 

history.tm_min=row.LoginTime.minute();

history.tm_hour =row.LoginTime.hour();

history.tm_year =row.LoginTime.year()-1900;

history.tm_mon =row.LoginTime.month()-1;

history.tm_mday =row.LoginTime.day();

  time_t tmp2=mktime(&history); 

dblTime=difftime(tmp1,tmp2);

c++代码。网上找了一堆数据库中的转换例子。不适用。今天刚好用到,参考了一下csdn一些网友的例子,顺便记下来。



数字。




以一定的时间格式

关于mysql时间戳字段的疑问解决方法

相关文章:

你感兴趣的文章:

标签云: