以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 时间计划 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=124017) |
||||
-- 作者:cjl333333333 -- 发布时间:2018/8/29 0:51:00 -- 时间计划
请教老师,这个项目我想通过计算时间的按扭,根据输入的日期 每天开始时间及结束时间计算“计划是间”及“完在时间”,请教老师这代码得怎么写?
|
||||
-- 作者:有点甜 -- 发布时间:2018/8/29 9:58:00 -- 参考代码,细节或效率自己调整
|
||||
-- 作者:cjl333333333 -- 发布时间:2018/8/29 16:56:00 -- 解决了,谢谢老师 |
||||
-- 作者:cjl333333333 -- 发布时间:2018/9/6 18:37:00 -- 老师,不好意思,还得再问你一下,这个代码我最近发现,它只能计算整点的,比如我上班是按排8:30分的,结构它总是显示从8:00开始计算?请问这怎么回事?再加上这段代码中,60*30这个是什么意思? |
||||
-- 作者:有点甜 -- 发布时间:2018/9/6 20:14:00 -- 1、
Dim mtks As Date = "08:00" 改成
Dim mtks As Date = "08:30"
2、d = d.AddSeconds(60*30)
意思是,每次增加30分钟,比较是否大于下班时间,如果下班了,就累计多加1天 [此贴子已经被作者于2018/9/6 20:14:00编辑过]
|
||||
-- 作者:cjl333333333 -- 发布时间:2018/9/7 11:35:00 -- 老师,我在 Dim mtks As Date 是设置了变量,但不管我变量里是输入08:00还是08:30它都会变成08:00显示 Dim RQ As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker3") Dim SSJ As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker1") Dim XSJ As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker2") Dim T As String = CurrentTable.Name Dim kssj As Date = RQ.Value Dim mtks As Date = SSJ.Value Dim mtjs As Date = XSJ.Value Dim d As Date = new Date(KSSJ.year, KSSJ.month, KSSJ.day, MTKS.hour, MTJS.Minute, 0) Dim sp1 As TimeSpan = mtks.AddDays(1)-mtjs Dim sp2 As TimeSpan = mtjs-mtks Dim t1 As Table = Tables(T) For Each r As Row In t1.Rows r("计划生产时间") = d Dim sj As Double = r("额定生产时间") Do While sj > 0 d = d.AddSeconds(60*30) If format(d, "HHmm") > Format(mtjs, "HHmm") Then d = d.AddSeconds(sp1.TotalSeconds) End If sj = sj - 60*30 Loop r("计划完成时间") = d Next 我代码是改成这样的。 |
||||
-- 作者:有点甜 -- 发布时间:2018/9/7 11:59:00 -- 如果你直接改成下面这样测试,有没有问题?
Dim mtks As Date = "08:30"
|
||||
-- 作者:cjl333333333 -- 发布时间:2018/9/7 22:28:00 -- 老师,改为08:30 就可以的。 |