我想在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();
}
尽管我将星期日视为一周的第一天,但如果您希望将星期一作为第一天,则更改范围为(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();
}
关于.net - 在.net中,知道周号如何获取工作日日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3854429/