以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助] 自动扣除时间计算 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=64109) |
||||
-- 作者:wangyinming -- 发布时间:2015/2/5 9:43:00 -- [求助] 自动扣除时间计算 开始时间11:00~结束时间13:00 耗时计算出2小时,但是12:00~13:00 休息时间,想要扣除这1小时,计算出1小时。也就是说开始时间和结束时间经过12:00时候再减1小时。
现在的代码:
Select Case e.DataCol.name |
||||
-- 作者:Bin -- 发布时间:2015/2/5 9:48:00 -- if dr3("开始时间") < 休息开始时间 andalso dr3("结束时间") > 休息结束时间 then tp.tp.TotalSeconds()-3600
|
||||
-- 作者:有点甜 -- 发布时间:2015/2/5 10:07:00 -- 有点绕,还是笨一些好
Select Case e.DataCol.name |
||||
-- 作者:wangyinming -- 发布时间:2015/2/5 10:31:00 -- 换成甜老师的代码后,显示-22了,重置列无效, 代码如下:
Select Case e.DataCol.name Case "生产开始时间","生产结束时间" Dim dr3 As DataRow = e.DataRow If dr3.IsNull("生产开始时间") Or dr3.IsNull("生产结束时间") Then dr3("开动时间") = Nothing Else Dim d1 As Date = dr3("生产结束时间") Dim d2 As Date = dr3("生产开始时间") If d1 > d2 Then, d2 = d2.AddDays(1) End If Dim ds As Date = new Date(d2.Year, d2.Month, d2.day, 12, 0, 0) Dim de As Date = new Date(d1.Year, d1.Month, d1.day, 13, 0, 0) Dim tp1, tp2 As TimeSpan tp1 = d1 - d2 If d2 < ds AndAlso d1 < ds Then dr3("开动时间") = tp1.TotalSeconds()/60/60 Else If d2 < ds AndAlso d1 >= ds AndAlso d1 <= de Then tp2 = d1 - ds dr3("开动时间") = (tp1.TotalSeconds() - tp2.TotalSeconds) /60/60 Else If d2 < ds AndAlso d1 > de Then tp1 = d1 - d2 dr3("开动时间") = (tp1.TotalSeconds() - tp2.TotalSeconds) /60/60 Else If d2 >= ds AndAlso d1 <= de Then dr3("开动时间") = 0 Else If d2 >= ds AndAlso d1 > de Then tp2 = de - d2 dr3("开动时间") = (tp1.TotalSeconds() - tp2.TotalSeconds) /60/60 Else If d2 >= de Then dr3("开动时间") = tp1.TotalSeconds()/60/60 End If End If End Select 那休息时间段追加的话代码怎么写 开始 结束 12:00 13:00 17:30 18:30 00:00 01:00 05:30 06:30
|
||||
-- 作者:wangyinming -- 发布时间:2015/2/5 10:50:00 -- 哪里错了啊,代码写在那里啊,报错 此主题相关图片如下:无标题.png |
||||
-- 作者:wangyinming -- 发布时间:2015/2/5 10:52:00 -- 时间计算出来出错 |
||||
-- 作者:有点甜 -- 发布时间:2015/2/5 11:33:00 -- 如下 mark 休息时间计算
|
||||
-- 作者:wangyinming -- 发布时间:2015/2/5 14:26:00 -- 甜老师,在休息表中添加了数据,20:30~08:30还是计算12H,,求救 |
||||
-- 作者:有点甜 -- 发布时间:2015/2/5 14:27:00 -- 以下是引用wangyinming在2015-2-5 14:26:00的发言:
甜老师,在休息表中添加了数据,20:30~08:30还是计算12H,,求救
不能隔天添加,隔天添加分两段 |
||||
-- 作者:wangyinming -- 发布时间:2015/2/5 14:35:00 -- 怎么分啊,帮我分一下
|