C#计算两个时间的时间差,精确到年月日时分秒
喏,计算两个时间的时间差,精确到年月日时分秒
看起来比较笨的方法了,不知道有没有改进
DateTime d1 = new DateTime(2016, 4, 1, 0, 0, 0); DateTime d2 = new DateTime(2017, 3, 31, 0, 0, 0); int yearTick = 0; while (d1.AddYears(yearTick) <= d2) { if (d1.AddYears(yearTick + 1) > d2) break; yearTick++; } int monthTick = 0; while (d1.AddMonths(monthTick) <= d2) { if (d1.AddMonths(monthTick + 1) > d2) break; monthTick++; } int month = yearTick > 0 ? monthTick % (yearTick * 12) : monthTick; DateTime d3 = d1.AddYears(yearTick).AddMonths(month); TimeSpan ts = d2.Subtract(d3); lblMsg.Text = yearTick + "年" + month + "月" + ts.Days + "天" + ts.Hours + "时" + ts.Minutes + "分" + ts.Seconds + "秒";