标题:时间除法?我错哪了?
只看楼主
不懂就问呗
Rank: 2
来 自:遥远的回忆
等 级:论坛游民
帖 子:51
专家分:13
注 册:2007-12-16
 问题点数:0 回复次数:3 
时间除法?我错哪了?
我做的统计工作过程所耗用的时间的按钮的代码
开始加了一个:begintime=datetime()
  。。。。。。中间是一项数据库连续工作的程序
结果加了:endtime=datetime()
passtime=endtime-begintime
passh=passtime%216000
passm=passtime%360
passs=passtime%60

THISFORM.LABEL1.CAPTION=LTRIM(STR(passtime))+"秒"
THISFORM.LABEL2.CAPTION=LTRIM(STR(passh))+"时"+LTRIM(STR(passm))+"分"+LTRIM(STR(passs))+"秒"

结果:LABEL1显示为 76秒 ,这个秒数,是准确的
下面的LABEL2却显示为 76时76分16秒 ,????????????????
问题就在这了,我第二个LABEL要显示的是,将第一个LABEL再化成小时分秒的结果
预期效果应该是: 0时1分16秒 啊
为什么得出这个结果?时和分,都没计算对,只有秒,得出正确结果了。。。。
搜索更多相关主题的帖子: 除法 数据库 STR quot passtime 
2008-01-03 18:35
deleter
Rank: 1
等 级:新手上路
威 望:1
帖 子:858
专家分:0
注 册:2007-7-5
得分:0 
在代码前面加一句:SET ANSI ON

物理学家的问题在于他们总是试图用作弊的方法获得结果。
数学家的问题在于他们总是试图获得最幼稚的问题的结果。
软件测试工程师的问题在于他们总是试图用作弊的方法获得最幼稚的问题的结果。
2008-01-03 18:57
不懂就问呗
Rank: 2
来 自:遥远的回忆
等 级:论坛游民
帖 子:51
专家分:13
注 册:2007-12-16
得分:0 
嘎嘎,自己解决了
IF passtime>216000
passh=passtime%216000
else
 IF passtime>360
  passh=1
 else
  passh=0
 endif
endif

if passtime>360
passm=passtime%360
else
 if passtime>60
  passm=1
 else
  passm=0
 endif
endif

书到用时方恨少;事非经过不知难。
2008-01-03 19:02
Tiger5392
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:88
帖 子:2775
专家分:2237
注 册:2006-5-17
得分:0 
?transform(int(passtime/3600))+'小时'+transform(mod((passtime-mod(passtime,60))/60,60))+'分'+transform(mod(passtime,60))+'秒'

感言:学以致用。 博客:http://www./blog/user14/65009/index.shtml email:Tiger5392@
2008-01-04 00:04



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-195709-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.128983 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved