CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  基础类

关于MinutesBetween函数的困惑

楼主punkie(雷)2003-09-02 21:32:43 在 C++ Builder / 基础类 提问

intMin=MinutesBetween(TimeBegin,TimeEnd);  
  在上述语句中,当开始时间和结束时间相差小于23分钟时得到的分钟数比实际间隔小1,另外在其他一些条件下时间间隔也比实际间隔小1  
  例如:  
  TimeBegin=12:00  
  TimeEnd=12:01  
  则intMin=0  
   
  TimeBegin=12:00  
  TimeEnd=12:20  
  则intMin=19  
   
  TimeBegin=12:00  
  TimeEnd=12:30  
  则intMin=30  
   
  TimeBegin=08:02:  
  TimeEnd=09:05  
  则intMin=62  
   
  请问哪位知道原因? 问题点数:100、回复次数:3Top

1 楼nuaacims(沉底鱼)回复于 2003-09-02 22:11:12 得分 0

楼主,能讲清除你这个MinutesBetween函数是什么地方的嘛?  
  Win   api???还是自己写的??    
  如果是自己写的   那么这个函数肯定内部逻辑写错了   如果是sdk里面的   我的确不知道为什么  
  Top

2 楼jishiping(JSP 季世平)回复于 2003-09-02 22:40:06 得分 100

跟踪调试了一下源程序,发现是Trunc这个函数的问题(看来是BCB6的一个BUG)。你用函数  
  MinuteSpan   这个函数就可以了。不过   MinuteSpan   返回的是   double,如果将返回值传给整  
  数,最好在后面加上一个很小的数字(因为浮点数有误差,不加的话可能有问题)。比如:  
  int   nMin   =   MinutesBetween(TimeBegin,TimeEnd)   +   0.000001;Top

3 楼jishiping(JSP 季世平)回复于 2003-09-02 22:41:58 得分 0

不加上一个很小的数字,只是可能有问题,不是一定有问题。只是安全起见,还是加上一个  
  小的数字比较保险一些。Top

相关问题

  • printf函数的困惑!
  • 函数指针的困惑
  • 初学函数的困惑
  • 关于Prompt()函数的困惑?(给分)
  • clock()函数使用的困惑
  • 初学者的困惑 me函数
  • 函数的返回值比较困惑
  • help me!!!!!!!!!!! ----> fscanf() 函数的困惑 <------------
  • 构造函数与析构函数的困惑?
  • 关于函数返回值与拷贝构造函数的困惑

关键词

  • 函数
  • 数字
  • minutesbetween
  • timebegin
  • timeend
  • intmin
  • 问题
  • 加上一个
  • 时间

得分解答快速导航

  • 帖主:punkie
  • jishiping

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo