各位大虾请问下,在填表的时候,如何在输入两个不同时间段后。自动计算时间差?
如:第一时间:12/03/06 08:30:00AM
第二时间:12/03/06 07:30:00PM
间隔时长:???????
谢谢,在线等~~
各位大虾请问下,在填表的时候,如何在输入两个不同时间段后。自动计算时间差?
如:第一时间:12/03/06 08:30:00AM
第二时间:12/03/06 07:30:00PM
间隔时长:???????
谢谢,在线等~~
是我没有说详细:如果是都是日期数的话,直接相减后得到的是多少天;如果是都是时间数的话,就要以分隔符为标志,将时、分、秒提取出来进行相减,例如时间数d1,d2都是以TT:MM:SS表示的,则val(subs(d2,4,2))-val(subs(d1,4,2))则表示两个时间分的差,再加上时的差就可以判断出来了,计算起来是比较麻烦。
日期和时间操作符
下列操作符作用于日期和时间。
相加 tNewTime = tTime1 + nSeconds
dNewDate = dDate1 + nDays
相减 nSeconds = tTime1 - tTime2
tNewTime = tTime1 - nSeconds
dNewDate = dDate1 - nDays
去帮助查找到这个相关的代码。但具体怎么用就不知道,因为我想在一个表单中只填上第一时间和第二时间。然后生成的报表中间隔时间就是已经计算出来的。这个想法能不能实现?应该怎么去操作呢?
parameters t1,t2
private t1,t2,tt,ts,tday,thour,tminute,tsecond
if vartype(t1)!="T" or vartype(t2)!="T"
return "********"
endif
tt=int(abs(t1-t2)+0.5)
ts=iif(t1>t2,1,iif(t1=t2,0,-1))
tday=int(tt/24/3600) &&days
thour=int((tt-tday*24*3600)/3600) &&hours
tminute=int((tt-tday*24*3600-thour*3600)/60) &&minutes
tsecond=mod(tt,60) &&seconds
return padl(tday,6,"0")+"-"+padl(thour,2,"0")+":"+padl(tminute,2,"0")+":"+padl(tsecond,2,"0")
谢谢各位啊~