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

如何计算首末年月差分享

时间:2023-04-11 12:05:43 C#

计算首末年月差可能重复:计算年月周日如何计算起止日期年月差?嗨,我在做一个C#2.0项目,我需要计算开始日期和结束日期的年月差我在想一个函数publicvoidCalculateYearsAndMonths(DateTimestartDate,DateTimeendDate,outintyears,outintmonths){intyears=0;整数月=0;//????}有什么建议么?即使两个日期之间的天数为365,此代码也能正常工作。例如,1972年2月29日和1973年2月28日,那么它将返回0年11个月。if(endDate顺便说一句,您需要删除两行才能使out参数起作用:intyears=0;intmonths=0;我认为月数不明确,因为每个月的天数不同。但是,如果基于DateTime.MinValue,可以这样使用:TimeSpandifference=endDate-startDate;DateTimeage=DateTime.MinValue+difference;//Minvalueis01/01/0001intageInYears=age.Year-1;intageInMonths=age.Month-1;intageInDays=age.Day-1;Console.WriteLine("{0},{1},{2}",ageInYears,ageInMonths,ageInDays);这取决于你想要多少个月和ageInDays计算年份。您是否关心跨越边界(例如1月25日至2月1日=一个月或12月30日至1月1日=1年)或平均大小月/年(例如每月29天或一年365天)Dates?你可以通过减去日期得到的TimeSpan结果将给你所有固定大小的时间段(例如天,分钟)看到这个问题为什么几个月和几年一些可能很难的细节。intyears=endDate.Year-startDate.Year;intmonths=endDate.Month-startDate.Month;你可以试试上面的方法,应该可以。是这样的吗?varend=endDate.Year+endDate.Month/12.0;varstart=startDate.Year+startDate.Month/12.0;varyears=(int)(end-start);varmonths=(end-start)*12;noDecideifyouwantthewholemonth...hopethishelps,John以上是关于C#学习教程的全部内容:如何在开始和结束时计算年和月之间的差异如果它对任何人有用并且需要了解更多,请分享关于C#学习教程,希望大家多多关注---本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:

最新推荐
猜你喜欢