0
我想添加一个星期到一个给定的日期使用扩展方法 ,然后检索一周中的第一天的日期(从AddWeeks函数返回的日期)vb.net添加一个星期到给定的日期
Private Sub doSomething()
Dim dt As DateTime = DateTime.Now.AddWeeks(1)
dt = dt.StartOfWeek(dt.DayOfWeek) ' The year returned here is 0001
End Sub
<Extension()>
Public Function AddWeeks(ByVal dt As DateTime, numOfWeeks As Integer) As
DateTime
Return dt.AddDays(numOfWeeks * 7)
End Function
<Extension()>
<Extension()>
Public Function StartOfWeek(ByVal dt As DateTime, start As DayOfWeek) As DateTime
Dim diff As Integer = dt.DayOfWeek - start
If (diff < 0) Then
diff += 7
End If
Return dt.AddDays(-diff)
End Function
这段代码的问题是,返回的日期是与错误的一年,它总是喜欢dd/mm/0001
我刚刚试过你的代码,它不会以'0001'返回年份。它不起作用,因为'StartOfWeek'方法是错误的,但与返回为'dd/mm/0001'的日期无关 – Pikoh