今天您会如何在 VB.net 中进行约会。然后找到下一周的星期一或星期五的日期。如果今天是星期四,而我正在寻找下星期五,那么我想要明天的日期?
您可以使用 DayOfWeek 枚举来查找:
Private Function GetNextDate(day As DayOfWeek) As DateTime
Dim now As DateTime = DateTime.Today
Dim today As Integer = CInt(now.DayOfWeek)
Dim find As Integer = CInt(day)
Dim delta As Integer = find - today
If delta > 0 Then
Return now.AddDays(delta)
Else
Return now.AddDays(7 - delta)
End If
End Function
使用您的示例,如果您致电:
Dim date = GetNextDate(DayOfWeek.Friday)
你会得到明天的约会
Private Function NextMonday() As String
Dim Tdate = DateTime.Now.AddDays(1)
Do While Tdate.DayOfWeek <> DayOfWeek.Monday
Tdate = Tdate.AddDays(1)
Loop
Return Tdate.ToShortDateString()
End Function
Reed Copsey 提出的解决方案无法正常工作。 这是我的版本:
Public Shared Function GetNextDate(day As DayOfWeek) As DateTime
Dim now As DateTime = DateTime.Today
Dim today As Integer = CInt(now.DayOfWeek)
Dim find As Integer = CInt(day)
Dim delta As Integer = find - today
If delta >= 0 Then
Return now.AddDays(delta)
Else
Return now.AddDays(7 - (-1 * delta))
End If
End Function
如果作为参数的星期几等于今天,则今天。