递归地向DataTable中的datetime值添加分钟
递归地向DataTable中的datetime值添加分钟
我有一个sql服务器表格,我传给一个数据表格,我得到了这样的东西:
ID WHAT START END 120548 TODO1 2017-03-27 00:00:00.000 2017-03-27 00:30:00.000 120549 TODO2 2017-03-27 00:00:00.000 2017-03-27 00:30:00.000 120463 TODO3 2017-03-27 14:00:00.000 2017-03-27 15:00:00.000 120557 TODO4 2017-03-27 09:30:00.000 2017-03-28 12:30:00.000
注意Todo1和Todo2,它们有相同的开始时间和结束时间。我想增加Todo2和每个可能的下一个事件(只有在开始时间和结束时间为00:00 - 00:30的情况下)一个半小时,所以我做了这个函数:
Dim dt As New DataTable() Dim oraInizio As DateTime Dim oraFine As DateTime Dim minuti As Integer = 0 For Each row In dt.Rows oraInizio = row("eventstart") oraFine = row("eventend") If Convert.ToDateTime(row("eventstart")).Hour = "00" And Convert.ToDateTime(row("eventstart")).Minute = "00" Then oraInizio = oraInizio.AddMinutes(minuti) oraFine = oraFine.AddMinutes(minuti) row("eventstart") = oraInizio row("eventend") = oraFine minuti = minuti + 30 End If Next da.Fill(dt)
所以这是我希望的结果:
ID WHAT START END 120548 TODO1 2017-03-27 00:00:00.000 2017-03-27 00:30:00.000 120549 TODO2 2017-03-27 00:30:00.000 2017-03-27 01:00:00.000 120463 TODO3 2017-03-27 14:00:00.000 2017-03-27 15:00:00.000 120557 TODO4 2017-03-27 09:30:00.000 2017-03-28 12:30:00.000
请注意,如果还有另一个事件,比如00:00-00:30的Todo5,它应该变成01:00-01:30。这个函数不起作用,在VS2015中我得到了\"不能设置断点错误\",所以我问你,我在它里面做错了什么。谢谢。
admin 更改状态以发布 2023年5月24日