C# - 获取周数、月数和年的第一天和最后一天

C# - Get the first day and last day of the week knowing the week number, month number and year

所以问题是这样的:我设法得到了组成一个月的周数(例如:2022 年 5 月由 6 周组成,从第 1 天到第 31 天无一例外)。所以 组成一个月的周数 我需要知道,还要知道 月数 ,这将是所选周的第一天和最后一天。

我尝试做一些研究,但我只找到使用 Calendar.GetWeekOfYear 方法的解决方案,但正如我之前所说,我有单个月的周数而不是一年的总数。

希望你能帮助我。提前致谢。

如果我理解正确的话应该是这样的

var week = 2;
var month = 5;
var year = 2022;

var firstDayOfMonth = new DateTime(year, month, 1);
var dayOfWeek = firstDayOfMonth.DayOfWeek;
var diffToMonday = (7 + (dayOfWeek - DayOfWeek.Monday)) % 7;
var firstMonday = firstDayOfMonth.AddDays(-diffToMonday);

var requestedMonday = firstMonday.AddDays(7 * (week - 1));
var requestedSunday = firstMonday.AddDays(7 * week - 1);