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

查找从开始日期到结束日期的每个星期五Share

时间:2023-04-10 19:45:29 C#

查找从开始日期到年末的每个星期五所以我又遇到了另一个令人困惑的DateTime问题。在C#中,如何从开始日期(DateTime.Now)到年末每周五(天)返回?因此,例如,今天是19号星期五,它将返回26、2、9、16、23、30、7等。这行得通吗?staticIEnumerableGetFridays(DateTimestartdate,DateTimeenddate){//前进到第一个星期五while(startdate.DayOfWeek!=DayOfWeek.Friday)startdate=startdate.AddDays(1);while(startdatevarstart=DateTime.Today;varstartDay=((int)start.DayOfWeek);varnextFriday=startDay<6//5如果今天是星期五,你不想算它?start.AddDays(5-startDay)//本周周五:start.AddDays(12-startDay);//下周周五varremainingFridays=Enumerable.Range(0,53).Select(i=>nextFriday.AddDays(7*i)).TakeWhile(d=>d.Year==start.Year);这就是你想要的。IListgetFridaysForYearFromPoint(DateTimestartDate){DateTimecurrentFriday=startDate;列表结果=newList();//找到离开始日期最近的星期五while(currentFriday.DayOfWeek!=DayOfWeek.Friday){currentFriday=currentFriday.AddDays(1);}//找到所有的星期五!intcurrentYear=startDate.Year;while(currentFriday.Year==currentYear){结果.Add(startDate.Day);currentFriday=currentFriday.AddDays(7);}返回结果;}我的答案...staticvoidMain(string[]args){DateTimebegin=DateTime.Now;日期时间结束=DateTime.Now.AddDays(200);while(begin您可以使用.NET时段库的CalendarPeriodCollector://------------------------------------------------------------------publicvoidFindRemainigYearFridaysSample(){//过滤器:仅周五CalendarPeriodCollectorFilter过滤器=newCalendarPeriodCollectorFilter();filter.WeekDays.Add(DayOfWeek.Friday);//收集周期CalendarTimeRangecollectPeriod=newCalendarTimeRange(DateTime.Now,newYear().End.Date);//收集所有星期五CalendarPeriodCollectorcollector=newCalendarPeriodCollector(filter,collectPeriod);收集器.CollectDays();//显示每个结果(收集器中的ITimePeriod周期.Periods){Console.WriteLine("Friday:"+period);}}//FindRemainigYearFridaysSample我是vb.net的专家..但没什么区别..我在asp.netweb表单的page_load中写了以下代码...使asp.net应用程序在page_load中添加一个web表单write以上代码为C#学习教程:查找从开始日期到年末每周五分享的所有内容,如果对大家有用,需要了解更多C#学习教程,希望大家多多付出注意---ProtectedSubPage_Load(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMe.LoadDimgcAsNewSystem.Globalization.GregorianCalendarDimdAsNewDateTime(gc.GetYear(DateTime.Now),1,1)DimiAsInt16=1Whilei本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: