数据窗口中如何计算时间差

犇犇 2003-05-23 09:00:47
数据窗口中有三个字段
上班时间:datetime
下班时间: datetime
工作时间:long
可否根据‘上班时间’,‘下班时间’得出'工作时间'长度.
好像用函数:secondsafter()不能完成
请各位帮忙
...全文
174 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hnwczgw 2003-05-23
  • 打赏
  • 举报
回复
同意(joss(季节...夏至)的意见
犇犇 2003-05-23
  • 打赏
  • 举报
回复
我试了一次,好用,谢谢您们
joss 2003-05-23
  • 打赏
  • 举报
回复
在数据窗口中使用也没有问题,我就做过daysafter函数的实例,只是一定要保证上下班时间均有效才能正常运算!
把你的错误贴出来看看!
joss 2003-05-23
  • 打赏
  • 举报
回复
数据窗口中有三个字段
上班时间:datetime
下班时间: datetime
工作时间:long
可否根据‘上班时间’,‘下班时间’得出'工作时间'长度.
好像用函数:secondsafter()不能完成
请各位帮忙
楼主注意,SecondsAfter函数参数是指时间参数,不是日期参数,将datetiem分解为date 和time
请可以了!
如果有跨天现象,则还要用daysafter函数对分解出的date进行计算,两者相加才是具体时间数!
所有时间差数均换算成秒,显示时再运算出来!(也除60取整关系!)
楼主问题解决!
犇犇 2003-05-23
  • 打赏
  • 举报
回复
首先谢谢您,您用的方法是SCRIPT,可不可以在数据窗口中,如果‘工作时间’是计算列,来得出结果结,我在编辑时,总是提示‘必须为数值表达示’
计算列:代码secondsafter(time(上班时间),time(下班时间)),不能通过
joss 2003-05-23
  • 打赏
  • 举报
回复
SecondsAfter ( 开始时间time1, 结束时间time2 )
返回具体相差秒数!!
Thinkinger 2003-05-23
  • 打赏
  • 举报
回复
date ld_1,ld_2
time lt_1,lt_2
long ll_seconds

ld_1 = date(上班时间)
ld_2 = date(下班时间)

lt_1 = time(上班时间)
lt_2 = time(下班时间)

ll_seconds = daysafter(ld_1,ld) * 24 *60 * 60 + secondsafer(lt_1,lt_2)
Thinkinger 2003-05-23
  • 打赏
  • 举报
回复
你的时间长度是多的秒数吗?
Thinkinger 2003-05-23
  • 打赏
  • 举报
回复
用DaysAfter ( date1, date2 )函数

611

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧