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 + "秒";
上一篇:每次都要重新编译?太慢!让跨平台的 MSBuild/dotnet build 的 Target 支持差量编译


下一篇:target=_parent与target=_top的区别与用途