以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于工时计算 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=102124) |
|||||||||||||||||||||||||
-- 作者:10059 -- 发布时间:2017/6/13 17:12:00 -- 关于工时计算
如上表所示。请问老师怎样可以算休假天数??麻烦老师赐教,先谢谢啦!!
|
|||||||||||||||||||||||||
-- 作者:有点色 -- 发布时间:2017/6/13 19:16:00 -- Dim d1 As Date = "2017-06-12 8:00:00" Dim d2 As Date = "2017-06-13 17:30:00" Dim day As Integer = (d2-d1).Totaldays msgbox(day) Dim hour As Integer = (new Date(1,1,1,d2.hour, d2.Minute, d2.Second) - new Date(1,1,1, d1.hour, d1.minute, d1.second)).Totalhours msgbox(hour) day = day + iif(hour<=4, 0.5, 1) msgbox(day) [此贴子已经被作者于2017/6/14 9:34:55编辑过]
|
|||||||||||||||||||||||||
-- 作者:10059 -- 发布时间:2017/6/14 8:33:00 -- 老师,这样算只有整数天的,没有半天的,将integer改成single型算出来是1.4也不对,请问老师该怎么改?? |
|||||||||||||||||||||||||
-- 作者:有点色 -- 发布时间:2017/6/14 9:36:00 -- Dim d1 As Date = "2017-06-12 8:00:00" Dim d2 As Date = "2017-06-13 12:00:00" Dim day As Integer = (d2-d1).Totaldays msgbox(day) Dim hour As Integer = (new Date(1,1,1,d2.hour, d2.Minute, d2.Second) - new Date(1,1,1, d1.hour, d1.minute, d1.second)).Totalhours msgbox(hour) Dim days = day + iif(hour<=4, 0.5, 1) msgbox(days) |
|||||||||||||||||||||||||
-- 作者:10059 -- 发布时间:2017/6/14 9:55:00 -- 老师,还有个特殊情况就是有上夜班的。
|
|||||||||||||||||||||||||
-- 作者:有点色 -- 发布时间:2017/6/14 10:37:00 -- 分开统计
\'Dim d1 As Date = "2017-06-12 8:00:00" |
|||||||||||||||||||||||||
-- 作者:10059 -- 发布时间:2017/6/14 10:53:00 -- 谢谢色老师啦! |
|||||||||||||||||||||||||
-- 作者:10059 -- 发布时间:2017/6/19 9:53:00 -- 色老师,还有个问题请教。 表一:
表二:
例如:2017-06-13 至 2017-06-27 这段时间是用来补年休假还没休完的,最大值是15天,
请问老师,怎么根据表一的值,自动生成表二的值呢??
|
|||||||||||||||||||||||||
-- 作者:有点色 -- 发布时间:2017/6/19 10:47:00 -- Dim d1 As Date = "2017-06-13" Dim n As Double = 1.5 Dim d2 As Date = d1.AddDays(math.Floor(n-1)) If n - math.Floor(n) = 0.5 Then d2 = d2.AddHours(12) Else d2 = d2.AddHours(-6) End If msgbox(d2) |