我有一个数据视图,列如下所示:
持续时间(小时)- Datetime1 - Datetime2
#^#^2020#.8-10:00
#^#^#^ 2020-8-13 :00#^
Datetime2的值是持续时间和Datetime1之间的小时之和,格式应该是“yyyy:mm”。是否可以执行该操作并将其放在Datetime2列中?
注:可用时间为8.00-16.00,因此,如果计算结果超过16.00,该日期将从8.00开始。
我希望看到的结果如下:
持续时间(小时)- Datetime1 - Datetime2
2. 2020-8-10 8:00 2020-8:00
2020-8-13 8:00-8-13 8:00
任何帮助都很感谢,谢谢。
发布于 2021-08-13 20:03:30
循环您的数据源,如果第一列的类型不是双列,则使用Double.TryParse (文档);如果第二列的类型不是DateTime,则使用DateTime.TryParse (文档),使用DateTime.AddHours (文档)将值从第1列传递到第2列的值。
下面是一个示例:
For Each row In DataGridView1.Rows
If (Not row.IsNewRow) Then
Dim hoursToAdd As Double
Dim dateFrom As DateTime
If (Double.TryParse(rows.Cells(0).Value, hoursToAdd) AndAlso DateTime.TryParse(rows.Cells(1).Value, dateFrom)) Then
Dim dateTo = dateFrom.AddHours(hoursToAdd)
row.Cells(2).Value = dateTo.ToString("yyyy-mm-dd H:mm")
End If
End If
Nexthttps://stackoverflow.com/questions/68777366
复制相似问题