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