Select Case e.DataCol.name Case "结束时间" If e.DataRow.IsNull("结束时间") Then e.DataRow("间隔时间_年") = Nothing e.DataRow("间隔时间_月") = Nothing e.DataRow("间隔时间_日") = Nothing Else Dim y,m,d As Integer DateYMD(e.DataRow("结束时间"),e.DataRow("开始时间"),y,m,d) e.DataRow("间隔时间_年") = y e.DataRow("间隔时间_月") = m e.DataRow("间隔时间_日") = d If d >22 Then m = m + 1 End If If m > 10 Then y = y+1 End If e.DataRow("间隔时间") = y & "年" ' e.DataRow("间隔时间_年") & "年" & e.DataRow("间隔时间_月") & "个月" & e.DataRow("间隔时间_日") & "天"
End If End Select
|
这段代码 如果间隔时间是 11年12个月 23天得话 按照这个代码 只算年的话 是 12年 如果算上月 就变成了 12年 12个月啦 怎么可以让 m+1=12后自动变成0啊