请问在BCB中计算两个DATE型之间的天数的函数是什么

kmyangyl 2000-03-30 09:07:00
...全文
404 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
vga 2001-03-25
  • 打赏
  • 举报
回复
我的代码如下:

TDateTime dt = DM->QueryGZ->FieldByName("参工时间")->AsDateTime;
float dt0 = TDate(Date()) - TDate(dt);

编译通不过,
[C++ Error] GzDM.cpp(85): E2015 Ambiguity between '_fastcall TDateTime::operator double() const' and
'_fastcall TDateTime::operator int() const'
heww 2000-04-07
  • 打赏
  • 举报
回复
Trunc(d2-d1)就可以了,d1,d2:TDate;
trybird 2000-03-30
  • 打赏
  • 举报
回复
补充:老的C函数difftime()也很方便实用的——
你可不必再用localtime()函数将其转为结构值再取出。
单单就用它就行——
方法是先用强制类型转换将其返回值转为整型int
然后直接除就行了——
比如1天所含的秒数是24x60x60=86400秒,除以它就是天数了。
要转变为小时数就除以3600就行了,转变为分钟数就除以60就行了。
trybird 2000-03-30
  • 打赏
  • 举报
回复
TDateTime是一个C++类,保存double型日期时间值。
其整数部分从1899.12.30算起的日期数,小数部分是余出一天中的小时数。
将两个TDateTime值直接相减,如kxy所示,就得到两个日期按小时计的天数。

另外老的C函数difftime() (#include <time.h>)
即double difftime(time_t time2,time-t time1);
也能返回以秒为单位time2-time1的时间差。
然后可用localtime()和time()函数将其取为天数。
kxy 2000-03-30
  • 打赏
  • 举报
回复
两者相减。TDate(a)-TDate(b)

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧