9 .net datetime dayofweek week-number
我想在C#中创建一个函数,一个星期的数字将在那一周返回给我.
例如,对于第40周,我怎样才能得到这些日子:4/10,5/10,6/10,7/10,8/10,9/10,10/10.
先感谢您!
我认为这应该做你想要的:
public static DateTime[] WeekDays(int Year, int WeekNumber)
{
DateTime start = new DateTime(Year, 1, 1).AddDays(7 * WeekNumber);
start = start.AddDays(-((int)start.DayOfWeek));
return Enumerable.Range(0, 7).Select(num => start.AddDays(num)).ToArray();
}
Run Code Online (Sandbox Code Playgroud)
虽然我把星期日视为一周的第一天,但是如果你希望星期一作为第一天的变化范围从(0,7)到(1,7).
如果你想符合ISO标准,我认为这应该有效:
public static DateTime[] WeekDays(int Year, int WeekNumber)
{
DateTime start = new DateTime(Year, 1, 4);
start = start.AddDays(-((int)start.DayOfWeek));
start = start.AddDays(7 * (WeekNumber - 1));
return Enumerable.Range(0, 7).Select(num => start.AddDays(num)).ToArray();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4712 次 |
| 最近记录: |