可能的重复:
计算年、月、周和日 https://stackoverflow.com/questions/6260372/calculate-years-months-weeks-and-days
如何计算给定开始日期和结束日期的年份和月份差异?
Hi
在 c# 2.0 项目上工作,我需要计算给定开始和结束日期的年份和月份的差异
我正在考虑像这样的函数
public void CalculateYearsAndMonths(DateTime startDate,
DateTime endDate,
out int years,
out int months)
{
int years=0;
int months=0;
//????
}
有什么建议么?
即使两个日期之间的天数为 365 天,此代码仍然有效。例如。 1972年2月29日和1973年2月28日,则返回0年零11个月。
if (endDate < startDate)
{
DateTime temp = endDate;
endDate = startDate;
startDate = temp;
}
years = endDate.Year - startDate.Year;
months = endDate.Month - startDate.Month;
int days = endDate.Day - startDate.Day;
if (days < 0) months--;
if (months < 0)
{
months += 12;
years--;
}
顺便说一句,您需要删除这两行才能使输出参数正常工作:
int years=0;
int months=0;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)