我需要找到一种方法来查找我们正在进行的任何一周的星期一的日期(DD/MM/YYYY).
例如,本周,星期一将是2009年11月9日,如果这是下周,那将是2009年11月16日.
我设法以代码的形式获得了某个地方,但我得到的只是"无法转换为整数"错误.我正在使用Date.Today和AddDays().
谢谢你的帮助.:)
Met*_*ght 39
如果星期日是一周的第一天,你可以简单地这样做:
Dim today As Date = Date.Today
Dim dayDiff As Integer = today.DayOfWeek - DayOfWeek.Monday
Dim monday As Date = today.AddDays(-dayDiff)
Run Code Online (Sandbox Code Playgroud)
如果星期一是一周的第一天:
Dim today As Date = Date.Today
Dim dayIndex As Integer = today.DayOfWeek
If dayIndex < DayOfWeek.Monday Then
dayIndex += 7 'Monday is first day of week, no day of week should have a smaller index
End If
Dim dayDiff As Integer = dayIndex - DayOfWeek.Monday
Dim monday As Date = today.AddDays(-dayDiff)
Run Code Online (Sandbox Code Playgroud)
DateTime.DayOfWeek是一个枚举,指示给定日期的哪一天.由于星期一是1,您可以使用以下代码找到当周的星期一:
Dim monday As DateTime = Today.AddDays((Today.DayOfWeek - DayOfWeek.Monday) * -1)
Run Code Online (Sandbox Code Playgroud)