如何计算给定开始和结束的年份和月份的差异[重复]

2024-04-18

可能的重复:
计算年、月、周和日 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(使用前将#替换为@)

如何计算给定开始和结束的年份和月份的差异[重复] 的相关文章

随机推荐