如何解决以下代码?对于日期值的下一个循环
Dim xx As Date = New DateTime(2016, 1, 1)
Dim yy As Date = New DateTime(2016, 12, 31)
For ii = xx To yy
MsgBox(ii)
Next ii
这是错误:
如何解决以下代码?对于日期值的下一个循环
Dim xx As Date = New DateTime(2016, 1, 1)
Dim yy As Date = New DateTime(2016, 12, 31)
For ii = xx To yy
MsgBox(ii)
Next ii
这是错误:
您可以使用While
循环:
While xx <= yy
MsgBox(xx)
xx = xx.AddDays(1)
End While
或者Enumerable.Range
:
Dim days = Enumerable.Range(0, Convert.ToInt32((yy-xx).TotalDays))
.Select(Function(i) xx.AddDays(i))
For Each DateTime day in days
MsgBox(day)
Next day
(它看起来很复杂,但它是很好的开始描述数据的角度思考而不是构建循环)。
还是一个For
循环:
Dim count = Convert.ToInt32((yy-xx).TotalDays)
For i As Integer To Count
MsgBox(xx.AddDays(i))
Next i
由于错误信息提示,您不能通过增加1来递增日期。假设你打算做的是增加一天,你可以使用AddDays
方法。
Dim xx As Date = New DateTime(2016, 12, 29)
Dim yy As Date = New DateTime(2016, 12, 31)
Dim ii As Date = xx
Do Until ii > yy
MessageBox.Show(ii.ToShortDateString)
ii = ii.AddDays(1)
Loop
Dim xx As Date = New DateTime(2016, 1, 1)
Dim yy As Date = New DateTime(2016, 12, 31)
Dim intNumDays As Integer = CInt(Math.Ceiling((yy - xx).TotalDays))
For ii As Integer = 0 To intNumDays - 1
MsgBox(xx.AddDays(ii))
Next ii
尝试计算两个日期之间的天数和相应的运行循环。 – Linga