- 首页 > it技术 > >
///
/// 得到日期间隔如:X年X月X天
///
/// 【两日期间隔,转换成年月天】
///
///
public static string GetDateInterval(DateTime dt1, DateTime dt2)
{
DateTime dtMax = dt2 > dt1 ? dt2 : dt1;
//开始时间
DateTime dtMin = dt2 > dt1 ? dt1 : dt2;
//结束时间int year = dtMax.Year - dtMin.Year;
int month = dtMax.Month - dtMin.Month;
int day = dtMax.Day - dtMin.Day;
int sumDay = Convert.ToDateTime(dtMin.ToString("yyyy-MM")).AddMonths(1).AddDays(-1).Day;
if (dtMax.Month <= dtMin.Month)
{
year--;
month += 12;
}if (month == 12)
{
year++;
month -= 12;
}if (dtMax.Day < dtMin.Day)
{
month--;
day += sumDay;
}return $"{year}年{month}月{day}天";
}
static void Main(string[] args)
{DateTime startTime = Convert.ToDateTime("2019-04-29");
DateTime endTime = Convert.ToDateTime("2019-09-30");
Console.WriteLine(GetDateInterval(startTime, endTime));
Console.WriteLine(GetDateInterval(endTime, startTime));
//输出:0年5月1天
}
推荐阅读