关于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一些网友的例子,顺便记下来。
------解决方案--------------------数字。
------解决方案--------------------以一定的时间格式