use*_*776 2 .net vb.net date days date-difference
我正在尝试获取本周星期一的日期。这接近正确吗?
Dim MondayOfCurrentWeek As Date = Date.Today - Date.Today.DayOfWeek + 1
Run Code Online (Sandbox Code Playgroud)
据我了解,AyOfWeek 索引是:
1 = Monday
2 = Tuesday
3 = Wednesday
4 = Thursday
5 = Friday
6 = Saturday
0 = Sunday
Run Code Online (Sandbox Code Playgroud)
因此,如果例如今天的日期是星期四,我会得到:
Dim MondayOfCurrentWeek As Date = Date - 4 + 1
Run Code Online (Sandbox Code Playgroud)
这将等于
Date - 3
Run Code Online (Sandbox Code Playgroud)
对我来说似乎是正确的。
还是我完全没了?
一种非常简单的替代方法,虽然性能可能不高,但确实避免了任何基于算术的错误:
Dim monday As Date = Date.Today
While (monday.DayOfWeek <> DayOfWeek.Monday)
monday = monday.AddDays(-1)
End While
Run Code Online (Sandbox Code Playgroud)
这可以很容易地扩展为处理一周中任何一天的功能。除非这是一段非常大量的代码,否则性能会很好。
归档时间: |
|
查看次数: |
6992 次 |
最近记录: |