社区
PowerBuilder
帖子详情
如何计算两个datetime的时间间隔(精确到秒)?
rsy123
2007-12-20 10:43:01
我用的是PowerBuilder 10.0,要求计算出两个datetime的时间间隔(精确到秒),如
2007-12-20 17:00:00和2007-12-21 20:05:30的计算结果为27:05:30(小时:分钟:秒),其中小时可以超出两位,最多不会超过150小时.
我曾经用secondafter做过,但是超出一天就不行了。请问如何才能够算出两者的时间间隔,谢谢。
...全文
862
2
打赏
收藏
如何计算两个datetime的时间间隔(精确到秒)?
我用的是PowerBuilder 10.0,要求计算出两个datetime的时间间隔(精确到秒),如 2007-12-20 17:00:00和2007-12-21 20:05:30的计算结果为27:05:30(小时:分钟:秒),其中小时可以超出两位,最多不会超过150小时. 我曾经用secondafter做过,但是超出一天就不行了。请问如何才能够算出两者的时间间隔,谢谢。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dawugui
2007-12-21
打赏
举报
回复
作品:统计两个时间段之间的秒数!如果结束段小于开始段则为负数!
制作:独孤求败!
版本:PB802!
日期:2004-05-07!
注意:版权所有,欢迎盗版!
本文将开始和结束结束时间放在窗口的OPEN事件中,网友可以从其他途径获得。
sle_data1.Text = "2004-05-07"
sle_time1.Text = "20:15:00"
sle_data2.Text = "2004-05-07"
sle_time2.Text = "20:15:30"
统计按钮的代码如下:
long ll_total_seconds = 0 , ll_day_adjust = 0
date ld_sdate, ld_edate //日期
time lt_stime, lt_etime //时间
ld_sdate = date(sle_data1.Text)
ld_edate = date(sle_data2.Text)
lt_stime = time(sle_time1.Text)
lt_etime = time(sle_time2.Text)
//86400为一天的总秒数,如果要算小时,将所得结果除以60
IF ld_edate = ld_sdate THEN //如果日期相同
ll_total_seconds = secondsafter(lt_stime , lt_etime)
ELSE
IF ld_edate > ld_sdate THEN
ll_day_adjust = DaysAfter(ld_sdate , ld_edate) - 1
ll_total_seconds = SecondsAfter(Time('00:00:00') , lt_etime) + 86400*ll_day_adjust + SecondsAfter(lt_stime , Time('23:59:59')) + 1 //1为修正值
ELSE //将两个时间段交换
ll_day_adjust = DaysAfter(ld_edate , ld_sdate) - 1
ll_total_seconds = SecondsAfter(Time('00:00:00') , lt_stime) + 86400*ll_day_adjust + SecondsAfter(lt_etime , Time('23:59:59')) + 1 //1为修正值
ll_total_seconds = - ll_total_seconds //将计算所得的值置反
END IF
END IF
sle_1.Text = STRING(ll_total_seconds)
霖湘凝
2007-12-21
打赏
举报
回复
说明,adtm_start和adtm_end分别是你要比较的日期
long ll_total_seconds, ll_day_adjust
date ld_sdate, ld_edate
time lt_stime, lt_etime
ld_sdate = date(adtm_start)
ld_edate = date(adtm_end)
lt_stime = time(adtm_start)
lt_etime = time(adtm_end)
//86400为一天的总秒数
If ld_sdate = ld_edate then
ll_total_seconds = secondsafter( lt_stime,lt_etime)
Elseif ld_sdate < ld_edate Then
ll_total_seconds = SecondsAfter(lt_stime,Time('23:59:59'))
ll_day_adjust = DaysAfter(ld_sdate,ld_edate) -1
If ll_day_adjust > 0 Then ll_total_seconds = ll_total_seconds + 86400 * ll_day_adjust
ll_total_seconds = ll_total_seconds + SecondsAfter(Time('00:00:00'),lt_etime) +1
Else //end date < start date
ll_total_seconds = SecondsAfter(lt_stime,Time('00:00:00'))
ll_day_adjust = DaysAfter(ld_sdate,ld_edate) +1
If ll_day_adjust < 0 Then ll_total_seconds = ll_total_seconds + 86400 * ll_day_adjust
ll_total_seconds = ll_total_seconds + SecondsAfter(Time('23:59:59'),lt_etime) -1
end If
ll_total_seconds就是最终的秒数的差,然后除以3600就是小时了。
C#
计算
两个
日期间隔的年月日,
精确
到天,无视闰年等
C#
计算
两个
日期间隔的年月日,
精确
到天,无视闰年等。 /// ///
计算
两个
日期间隔的年月日 /// /// <param name="MinDate"></param> /// <param name="MaxDate"></param> /// <returns></returns> public ...
Java进行
计算
两个
时间间隔
在Java中,我们经常需要
计算
两个
时间之间的间隔,比如
计算
某个任务的执行时间、
计算
两个
事件发生的
时间间隔
等等。Java提供了一些类和方法来处理时间和日期相关的操作,本文将介绍如何使用Java来
计算
两个
时间之间的...
Python专题精讲 日期和时间的使用
实际项目开发中,到处都需要处理日期和时间,本课程针对python语言处理日期和时间的
两个
标准库time和
datetime
的知识进行了详细讲解,帮助学习者快速了解日期和时间使用的正确方法。 讲师经验丰富、课程内容充实、从...
python的
datetime
举例_Python
datetime
库
计算
两个
时间点之间的分钟(
秒
、天)数
计算
两个
时间点之间的分钟数import
datetime
def minNums(startTime, endTime):'''
计算
两个
时间点之间的分钟数'''# 处理格式,加上
秒
位startTime1 = startTime + ':00'endTime1 = endTime + ':00'#
计算
分钟数...
python
计算
时间间隔
(
精确
到微妙)
python
计算
时间间隔
(
精确
到微妙)
PowerBuilder
1,079
社区成员
66,439
社区内容
发帖
与我相关
我的任务
PowerBuilder
PowerBuilder 相关问题讨论
复制链接
扫一扫
分享
社区描述
PowerBuilder 相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章