如何累计TDateTime类型的值

yinzm 2002-12-30 01:02:25
我要统计累计的Time值,
但是TDateTime的值范围为00:00:00-23:59:59
请问是否有简单的方法得到累计结果呢,
不限结果的数据类型
...全文
44 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
s98231106 2002-12-30
  • 打赏
  • 举报
回复

直接把TDateTime强制类型转换为double就可以了
andy7909 2002-12-30
  • 打赏
  • 举报
回复
The TDateTime class inherits a val data member declared as a double that holds the date-time value. The integral part of a TDateTime value is the number of days that have passed since 12/30/1899. The fractional part of a TDateTime value is the time of day.

Following are some examples of TDateTime values and their corresponding dates and times:

0 12/30/1899 12:00 am
2.75 1/1/1900 6:00 pm
-1.25 12/29/1899 6:00 am
35065 1/1/1996 12:00 am
内存中TDateTime类型存储的实际值是double类型的,整数部分是当前日期自12/30/1899 12:00 am起经过的天数,大于为正,小于为负,小数部分是剩下的部分按豪秒计算转换得来的。上边是帮助中的例子,但实际把TDateTime类型转化成double后小数精度要高得多不止两位,好像是6位吧。
kingfish 2002-12-30
  • 打赏
  • 举报
回复
同意RedProgramer
不过毫秒应该是乘86400000

TDateTime d1("00:00:00"),d2("00:00:01");
double t=((double)d2-(double)d1)*86400; //秒
neelee 2002-12-30
  • 打赏
  • 举报
回复
呵呵,这个不难嘛,你只要加上日期就行了。

2002-12-29 12:10 ----- 2002-12-30 12:11

现在处理不就可以了吗?
IT-司马青衫 2002-12-30
  • 打赏
  • 举报
回复
好不容易抢到了头坑 好拉屎




------------------------------------------------------------------------------

该问题已经结贴 ,得分记录: bigwhiteshark (20)
RedProgramer 2002-12-30
  • 打赏
  • 举报
回复
直接把TDateTime强制类型转换为double就可以了,转换后乘于864000就是毫秒

13,873

社区成员

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

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