如何比较两个时间值的日期大小?(25分)

  • 主题发起人 主题发起人 mycwcgr
  • 开始时间 开始时间
M

mycwcgr

Unregistered / Unconfirmed
GUEST, unregistred user!
如何比较两个时间值的日期大小?
var
aa:Tdatetime
bb:Tdatetime
请问如何比较这两个时间值的日期大小?比较的结果如下:
例子A
a:=2002-01-02 12:00:00
b:=2002-01-02 13:02:00
则a和b的日期值(2002-01-02)相等
例子B
a:=2002-01-02 12:00:00
b:=2002-01-07 13:02:00
则a日期值(2002-01-02)小于B的日期值(2002-01-07)
 
和数值型一样
if a>b then
....
 
两个日期值相减是一个real型的,你可以依此来判断大小
strtodatetime(formatdatetime('yyyy-mm-dd',a))-
strtodatetime(formatdatetime('yyyy-mm-dd',b))
判断 >, <, =0
 
先用 FormatDateTime 格式化日期(YYYY-mm-d),然后比较
 
to 完颜康
我仅仅是比较日期的大小,而不是整个时间
To BDFan,
您的方法可行,但运算太复杂!
 
让我怎么说才好!DateTime型就是Double型,整数部分是日期,小数部分是时间,
ni在做double比较时难道把一个数差成整数部分和小数部分分别比较吗?!!!
 
to 完颜康
请问下面的情况您如何处理?
例子A
a:=2002-01-02 12:00:00
b:=2002-01-02 13:02:00
则a和b的日期值(2002-01-02)相等
 
都说到这分上了...取整啊
if trunc(a)>trunc(b) then
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
911
DelphiTeacher的专栏
D
D
回复
0
查看
868
DelphiTeacher的专栏
D
D
回复
0
查看
840
DelphiTeacher的专栏
D
后退
顶部