我正在尝试通过以下代码填充由dropdown
生成的No.of days
system
Sub LoadDay()
Try
ddlDay.Items.Clear()
For i As Integer = 1 To System.DateTime.DaysInMonth(DateTime.Today.Year, ddlMonth.SelectedValue)
ddlDay.Items.Add(New ListItem(i.ToString(), i.ToString("00")))
Next
ddlDay.Items.Insert(0, New ListItem("--Select--", -999))
Catch ex As Exception
End Try
End Sub
问题是,2月份它只显示28天,因为以下代码根据当前年份生成Days
,今年不是闰年
System.DateTime.DaysInMonth(DateTime.Today.Year, ddlMonth.SelectedValue)
如何修复它以显示Februaray月份的29天?
答案 0 :(得分:0)
您可以在DateTime中使用DayInMonth
Dim dayinMonth As String
dayinMonth = System.DateTime.DaysInMonth(2012, 2)
这可让您了解2015年2月的某一天。年内和月份内的参数
答案 1 :(得分:0)
我有兴趣知道你的要求是什么,你必须能够选择无效的日子,但是,如果你不想根据年份改变你的日子,那就创建你自己的一连串的日子。这使您的意图比在DaysInMonth函数中放置任意年份更清晰。
Dim Days = {31,28,31,30,31,30,31,31,30,31,30,31}
ddlDay.Items.Clear()
For i As Integer = 1 To Days(ddlMonth.SelectedValue-1)
ddlDay.Items.Add(New ListItem(i.ToString(), i.ToString("00")))
Next
ddlDay.Items.Insert(0, New ListItem("--Select--", -999))