首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

C++build中关于数据库时间部类数据的处理

2012-12-29 
C++build中关于数据库时间类型数据的处理C++build中的Table控件连接到一张表格以后,列名:出生日期的数据类

C++build中关于数据库时间类型数据的处理
C++build中的Table控件连接到一张表格以后,列名:出生日期  的数据类型是时间类型,请问我该怎么处理才能取出小时分钟和秒???
我用的语句是这样的:"Table1->FieldByName("出生日期")->"后面该怎么写呢??
[解决办法]

TDateTime dt = Table1->FieldByName("出生日期")->AsDateTime;
WORD h, m, s, ms;
dt.DecodeTime(&h, &m, &s, &ms);


然后,h就是小时,m就是分钟,s就是秒
[解决办法]
引用:
那要是只要求算两个DateTime的小时、分钟和秒的差忽略年月日的差,该怎么写代码呢???比如1990年1月1日12:12:12和2012年12月4日20:23:12的时分秒的差该怎么算呢???


unsigned short h1, m1, s1, ms1;
unsigned short h2, m2, s2, ms2;
dt1.DecodeTime(&h1, &m1, &s1, &ms1);
dt2.DecodeTime(&h2, &m2, &s2, &ms2);
int sec1 = h1 * 3600 + m1 * 60 + s1;   // 忽略毫秒
int sec2 = h2 * 3600 + m2 * 60 + s2;
int delta_sec = sec1 - sec2;
float delta_min = delta_sec / 60.0;
float delta_hour = delta_sec / 3600.0;

[解决办法]
include DateUtils
直接用函数DaysBetween SecondsBetween等等
[解决办法]
同意四楼意见。DateUtils单元有许多时间类的函数可用。

热点排行