以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 时间计算的精确性问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=88548) |
-- 作者:douglas738888 -- 发布时间:2016/8/4 17:46:00 -- 时间计算的精确性问题 请教老师,下面代码,对时间的计算精确性不足,比如 计划开始时间是2016-08-01 计划完成时间是2016-08-01 ,实际完成时间是2016-08-01 20:00 得到的计算:任务天数是 0 任务效率是 -0.83 我想得到的计算结果应该是 任务天数 是1 任务效率是 0.17 (提前17%的时间完成) 如果计划开始时间和计划完成时间 不是设置成DATETIME 这样的情况应该怎样调整精确性 Select Case e.DataCol.name \'设计实际完成时间计算 Case "计划完成时间","实际完成时间","计划开始时间" Dim dr As DataRow = e.DataRow If dr.IsNull("计划完成时间") Or dr.IsNull("实际完成时间") Then dr("任务效率") = Nothing Else Dim tp As TimeSpan = dr("计划完成时间") - dr("实际完成时间") dr("任务效率") = tp.Totaldays \'真正的时段型数据要转换为秒数,才能存入时段列 End If Dim dr1 As DataRow = e.DataRow If dr1.IsNull("计划开始时间") Or dr1.IsNull("计划完成时间") Then dr1("任务天数") = Nothing Else Dim tp1 As TimeSpan = dr1("计划完成时间") - dr1("计划开始时间") dr1("任务天数") = tp1.Totaldays \'真正的时段型数据要转换为秒数,才能存入时段列 End If End Select |
-- 作者:大红袍 -- 发布时间:2016/8/4 18:25:00 -- 1、你的时间列,要设置成 DateTime
2、 你的计划完成时间,应该是 2016-08-02 日才对啊。 |