一、两个日期相差的月数
对比两个日期并返回相差的月数(正数),这里将对应的方法列出,使用直接传入两个日期。
public static int LessMonth(String time1, String time2)
{
int res = 0;
DateTime d1 = new DateTime();
d1 = DateTime.Parse(time1);
DateTime d2 = new DateTime();
d2 = DateTime.Parse(time2);
res = (d2.Year - d1.Year) * 12 + (d2.Month - d1.Month);
return Math.Abs(res);
}
二、两个时间相差的天数
这里使用TimeSpan来帮助我们获取相差的天数,TimeSpan还可以帮助我们获取日期相差的秒、分、时,这里主要讲相差的天数,我们可以通过TotalDays和Days对应的属性获取相差的天数。其中TotalDays返回的是double,如果传入的时间包含时分秒,那么相差的天数是会包含小数;Days返回的是int,他会省略时分秒,只比较年月日。对应的代码如下:
public static int LessDays(String time1, String time2)
{
DateTime d = new DateTime();
d = DateTime.Parse(time1);
DateTime d1 = new DateTime();
d1 = DateTime.Parse(d.ToString("yyyy-MM-dd"));
DateTime dd = new DateTime();
dd = DateTime.Parse(time2);
DateTime d2 = new DateTime();
d2 = DateTime.Parse(dd.ToString("yyyy-MM-dd"));
TimeSpan t = d2.Subtract(d1);
return t.Days;
}