关于mysql时间戳字段的疑问
时间:2011-12-02
来源:互联网
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一些网友的例子,顺便记下来。
为什么我直接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一些网友的例子,顺便记下来。
作者: fallentopaz 发布时间: 2011-12-02
数字。
作者: ACMAIN_CHM 发布时间: 2011-12-02
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28