时间问题 如何判断 2004-02-03 15:30:00 是否在 2003-02-02 14:20:00 2003-03-03 22:22:00 之间???急

  • 主题发起人 主题发起人 张辉明
  • 开始时间 开始时间
把日期时间分解为年月日时分秒,然后针对时分秒进行比较,这时就是几个整数的比较了。
先判断小时,然后分钟,最后是秒钟。
 
谢谢各个回答,实际上我上面的代码是对的,没有问题。
因为当时太急了,出此下策才来发贴,当时出错的原因是:当时处理时间的量比多,
因为有两笔数据本身就输入不对。 下午5点 写成了 05:00:00 所以犯了低级错误。
 
datetimetostr也可以比较阿
 
是啊。时间应该可以直接比较的。。。
 
上面的程序的确是正确的!我测试了
 
你试试FormatDateTime('HH:MM',Time) 看能不能实现
 
uses DateUtils单元,然后使用WithinPastMinutes函数,他返回布尔类型,告诉你是否在now和then之间.精度是分钟.
 
忘记说了,调用WithinPastMinutes函数之前,先要用MinuteSpan或者MinutesBetween得到两个日期之间的时间跨度.
 
时间相减试试,应该可以的
 
function bet(ctime, begtime, endtime: Ttime): boolean;
begin
result:= (frac(ctime)>frac(begtime)) and (frac(ctime)<frac(endtime));
end;
//frac:取double中的小数部分
 
张鸿林的方法最快,小数部分就是时间,正数部分就是日期.
 
直接比较为什么不行呢??[:(]
 
DateTimeToFileDate
 
终极解答,最近还好?
function bet(ctime, begtime, endtime: Ttime): boolean;
begin
result := (Frac(ctime) > Frac(begtime)) and (Frac(ctime) < Frac(endtime));
end;
 
多人接受答案了。
 

Similar threads

I
回复
0
查看
851
import
I
I
回复
0
查看
1K
import
I
I
回复
0
查看
693
import
I
I
回复
0
查看
788
import
I
后退
顶部