当前位置: 首页 > 编程语言 > C#

如何在C#中获取给定月份的所有日期分享

时间:2023-04-10 20:21:31 C#

所有日期。任何帮助将不胜感激在此先感谢这是LINQ的解决方案:publicstaticListGetDates(intyear,intmonth){returnEnumerable.Range(1,DateTime.DaysInMonth(year,month))//Days:1,2...31等.Select(day=>newDateTime(year,month,day))//将每一天映射到一个日期.ToList();//将日期加载到列表中}和一个for循环:publicstaticListGetDates(intyear,intmonth){vardates=newList();//从本月的第一天开始循环,直到我们到达下个月,一次向前移动一天for(vardate=newDateTime(year,month,1);date.Month==month;date=date.AddDays(1)){dates.Add(日期);返回日期;您可能需要考虑返回日期流序列而不是列表,让调用者决定是否将日期加载到列表或数组/后处理它们/部分迭代它们等。对于LINQ版本,您可以通过删除对ToList()的调用来执行此操作。对于for循环,您可能想要实现一个迭代器。在这两种情况下,返回类型都必须更改为IEnumerable。1999年2月使用LinqFramework之前版本的示例。整数年=1999;整数月=2;列表列表=新列表();DateTimedate=newDateTime(年,月,1);做{列表。添加(日期);日期=date.AddDays(1);while(date.Month==month);我相信可能有更好的方法来做到这一点。但是,您可以使用:publicListgetAllDates(intyear,intmonth){varret=newList();for(inti=1;i干得好:publicListAllDatesInAMonth(intmonth,intyear){varfirstOftargetMonth=newDateTime(year,month,1);varfirstOfNextMonth=firstOftargetMonth.AddMonths(1);varallDates=newList();for(DateTimedate=firstOftargetMonth;date从你想要的月份的第一个日期开始迭代到最后一个小于下个月的第一个日期的日期。PS:如果这是作业,请标记为“作业》!以上就是C#学习教程:如何在C#中获取给定月份的所有日期分享如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场,如涉及侵权,请点右联系管理员删除,转载请注明出处: