如何根据开始日期和结束日期生成日期列表?
i)dt.Rows(k).Item(“ startdate”)=开始日期= 2019-11-13
ii)dt.Rows(k).Item(“ enddate”)=结束日期= 2019-11-27
For p = dt.Rows(k).Item("startdate") To dt.Rows(k).Item("enddate")
//display p value
Next p
答案 0 :(得分:1)
如果获得这些日期之间的天数,则可以迭代多次+ 1(以包括开始和结束日期),并将循环变量添加到开始日期...
Module Module1
Sub Main()
Dim startDate = New DateTime(2019, 11, 13)
Dim endDate = New DateTime(2019, 11, 27)
Dim daysCount = (endDate - startDate).Days
For i = 0 To daysCount
Dim p = startDate.AddDays(i)
Console.WriteLine(p.ToString("yyyy-MM-dd"))
Next
Console.ReadLine()
End Sub
End Module
输出:
2019-11-13
2019-11-14
2019-11-15
2019-11-16
2019-11-17
2019-11-18
2019-11-19
2019-11-20
2019-11-21
2019-11-22
2019-11-23
2019-11-24
2019-11-25
2019-11-26
2019-11-27
请注意... To daysCount
,而不是... To daysCount - 1
。
在此示例中,没有必要使用LINQ进行更巧妙的介绍,但以防万一在其他情况下还是有道理的:
For Each p In Enumerable.Range(0, (endDate - startDate).Days + 1).Select(Function(i) startDate.AddDays(i))
Console.WriteLine(p.ToString("yyyy-MM-dd"))
Next