Foxtable(狐表)用户栏目专家坐堂 → 时间计划


  共有2172人关注过本帖树形打印复制链接

主题:时间计划

帅哥哟,离线,有人找我吗?
有点甜
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/29 9:58:00 [显示全部帖子]

参考代码,细节或效率自己调整

 


Dim kssj As Date = "2018-08-29"
Dim mtks As Date = "08:00"
Dim mtjs As Date = "17:30"
Dim d As Date = new Date(kssj.year, kssj.month, kssj.day, mtks.hour, mtks.Minute, 0)
Dim sp1 As TimeSpan = mtks.AddDays(1)-mtjs
Dim sp2 As TimeSpan = mtjs-mtks
Dim t As Table = Tables("表A")
For Each r As Row In t.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

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/7 11:59:00 [显示全部帖子]

如果你直接改成下面这样测试,有没有问题?

 

Dim mtks As Date = "08:30"

 


 回到顶部