| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 730 人关注过本帖
标题:时间除法?我错哪了?
收藏  订阅  推荐  打印 
不懂就问呗
Rank: 2
等级:注册会员
帖子:50
积分:680
注册:2007-12-16
时间除法?我错哪了?

我做的统计工作过程所耗用的时间的按钮的代码
开始加了一个: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-1-3 18:35
deleter
Rank: 4
等级:高级会员
威望:1
帖子:859
积分:9138
注册:2007-7-5

在代码前面加一句:SET ANSI ON

物理学家的问题在于他们总是试图用作弊的方法获得结果。
数学家的问题在于他们总是试图获得最幼稚的问题的结果。
软件测试工程师的问题在于他们总是试图用作弊的方法获得最幼稚的问题的结果。
2008-1-3 18:57
不懂就问呗
Rank: 2
等级:注册会员
帖子:50
积分:680
注册:2007-12-16

嘎嘎,自己解决了
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-1-3 19:02
Tiger5392
Rank: 12Rank: 12Rank: 12
等级:版主
威望:44
帖子:2005
积分:21414
注册:2006-5-17

?transform(int(passtime/3600))+'小时'+transform(mod((passtime-mod(passtime,60))/60,60))+'分'+transform(mod(passtime,60))+'秒'

感言:学以致用。 博客:http://www.bc-cn.net/blog/user14/65009/index.shtml email:Tiger5392@tom.com
2008-1-4 00:04
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.045828 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved