请教:
procedure TForm1.Button1Click(Sender: TObject);
var
MBetween:integer;
begin
MBetween:=minutesBetween(strtodatetime('2006-4-21 11:05:00'),strtodatetime('2006-4-21 11:10:00'));
showmessage(inttostr(MBetween));
得到的结果是:4 而
MBetween:=minutesBetween(strtodatetime('2006-4-21 11:10:00'),strtodatetime('2006-4-21 11:15:00'));
showmessage(inttostr(MBetween));
得到的结果是:5 这是怎么回事啊? 应该都是 5 啊? 谢谢!
end;
procedure TForm1.Button1Click(Sender: TObject);
var
MBetween:integer;
begin
MBetween:=minutesBetween(strtodatetime('2006-4-21 11:05:00'),strtodatetime('2006-4-21 11:10:00'));
showmessage(inttostr(MBetween));
得到的结果是:4 而
MBetween:=minutesBetween(strtodatetime('2006-4-21 11:10:00'),strtodatetime('2006-4-21 11:15:00'));
showmessage(inttostr(MBetween));
得到的结果是:5 这是怎么回事啊? 应该都是 5 啊? 谢谢!
end;
解决方案 »
- delphi简单字符替换
- dll封装的窗体里不能用TApplicationEvents?
- 关于dbgrid字段排序问题
- dbgridEH 的超难问题 !!!!!!!!! 如何设置列头单元格的格线颜色???????????????????
- 用RAVE做带memo的报表,在第二行最前面的汉字老是乱码,有解决办法吗?
- 求助SQL语句?
- 紧急求助!在delphi7中有没有显示时间的控件?
- 请大家谈谈DELPHI程序员现在的工资情况和作为delphi程序员在那个公司比较适合发展?UP有分!
- 谁知道“启明星”软件的那种窗体控件在那能找到?
- 求各位了: 寻<Delphi5开发人员指南>电子版
- 操作数类型冲突:image与varchar不兼容
- 两个数据库及库中表的比较问题
TDateTime = type Double;时间类型实际上是浮点数,浮点数运算是会出现误差的。
function MinutesBetween(const ANow, AThen: TDateTime): Int64;
begin
Result := Trunc(MinuteSpan(ANow, AThen));
end;
经过Trunc这样来取整,误差就有1这么多了。
我不是用函数来做的,是自己写的,用来计算秒数的.而且我也不知道有这个函数.//计算秒数
LoginTime := StrtoDateTime( '2006-04-20 10:10:10' );
sStr := FormatDateTime( 'yyyy-mm-dd hh:mm:ss', Now()-LoginTime );
I := StrToInt( FloatToStr( StrToDate( Copy( sStr, 1, 10 ) ) - StrToDate('1899-12-30') ) );//天数
M := I * 60* 60 *24 + StrToInt( Copy( sStr, 12, 2 ) ) * 60 *60 +
StrToInt( Copy( sStr, 15, 2 ) ) * 60 + StrToInt( Copy( sStr, 18, 2 ) );好象是这样的,我忘了,你试一下看看.....如果你算的分钟数值超过65535的话.变量定义成longint