如何在C#中获取指定年份的所有周末日期?
获取指定年份的所有周六和周日(仅用for循环、if及内置函数实现)
完全可以用你提到的for循环、if语句和C#内置函数实现需求,下面是针对初学者的简洁代码示例:
using System; class Program { static void Main() { int targetYear = 2022; // 这里可以替换成你需要查询的年份 int saturdayCounter = 0; int sundayCounter = 0; // 初始化起始日期为目标年份的1月1日 DateTime currentDay = new DateTime(targetYear, 1, 1); // 遍历全年每一天,直到年份超出目标年份 for (; currentDay.Year == targetYear; currentDay = currentDay.AddDays(1)) { if (currentDay.DayOfWeek == DayOfWeek.Saturday) { saturdayCounter++; Console.WriteLine($"第{saturdayCounter}个周六是{currentDay:yyyy/M/d}"); } else if (currentDay.DayOfWeek == DayOfWeek.Sunday) { sundayCounter++; Console.WriteLine($"第{sundayCounter}个周日是{currentDay:yyyy/M/d}"); } } } }
代码说明:
- 先定义要查询的目标年份,以及用于统计周六、周日序号的计数器
- 用
DateTime类创建目标年份的第一天作为遍历起点 - 通过for循环逐天推进日期(用
.AddDays(1)实现),只要当前日期的年份还属于目标年份就继续循环 - 用
DayOfWeek枚举判断当前日期是周六还是周日,对应计数器加1后按要求格式输出
内容的提问来源于stack exchange,提问作者KIWI HSIEH
相关产品推荐
相关产品推荐

