获取年中的天数List 返回

复制代码
        public void dateList()
        {
            // 输入年份
            Console.Write("请输入年份:");
            int year = int.Parse(Console.ReadLine());  
            // 使用List集合来存储日历
            var  calendar = GenerateCalendar(year);
            calendar.ForEach(x => Console.WriteLine($"{x.year}年{x.month}月{x.day}日{x.WeekDay}星期"));
        }

        public static List<date> GenerateCalendar(int year)
        { 
            List<date> ymrList = new List<date>();
            // 循环生成每个月的日历
            for (int month = 1; month <= 12; month++)
            {
                // 获取指定年份和月份的第一天
                DateTime firstDayOfMonth = new DateTime(year, month, 1);

                // 计算第一天是星期几
                int firstDayOfWeek = (int)firstDayOfMonth.DayOfWeek;

                // 获取指定年份和月份的总天数
                int totalDaysOfMonth = DateTime.DaysInMonth(year, month);

                
                for (int i = 1; i <= totalDaysOfMonth;)
                {
                    
                        if (firstDayOfWeek > 6)
                        {
                            firstDayOfWeek = 0;
                        }  
                        ymrList.Add(new date { year = year, month = month, day = i++, WeekDay = firstDayOfWeek++ }); 
                } 
            }

            return ymrList;
        }

        public class date
        {
            public int year { get; set; }
            public int month { get; set; }
            public int day { get; set; }
            public int WeekDay { get; set; }
        }
复制代码

 

posted @   YaShi  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示