两个日期
2010-7-21 00:00:00
2010-7-22 00:00:00怎么做能准备比较这两个日期之间相差的天数或者小时呢 ?用
TimeSpan ts = endDate.Subtract(startDate);
int days = ts.Days;
int hours = ts.Hours;days 算出来是 1
hours算出来时 0
2010-7-21 00:00:00
2010-7-22 00:00:00怎么做能准备比较这两个日期之间相差的天数或者小时呢 ?用
TimeSpan ts = endDate.Subtract(startDate);
int days = ts.Days;
int hours = ts.Hours;days 算出来是 1
hours算出来时 0
TotalHours:返回TimeSpan值表示的小时数。
DateTime endDate = DateTime.Parse("2010-7-22 00:00:00");
TimeSpan ts = endDate.Subtract(startDate);
double days = ts.TotalDays;
double hours = ts.TotalHours;
{
year = 1,
month = 2,
day = 3,
hour = 4,
minute = 5,
second = 6
} /// <summary>
/// 日期比较函数
/// </summary>
/// <param name="howtocompare"></param>
/// <param name="startDate"></param>
/// <param name="endDate"></param>
/// <returns></returns>
public double DateDiff(EnumDateCompare howtocompare, System.DateTime startDate, System.DateTime endDate)
{
double diff = 0;
System.TimeSpan TS = new System.TimeSpan(endDate.Ticks - startDate.Ticks); switch (howtocompare)
{
case EnumDateCompare.year:
diff = Convert.ToDouble(TS.TotalDays / 365);
break;
case EnumDateCompare.month:
diff = Convert.ToDouble((TS.TotalDays / 365) * 12);
break;
case EnumDateCompare.day:
diff = Convert.ToDouble(TS.TotalDays);
break;
case EnumDateCompare.hour:
diff = Convert.ToDouble(TS.TotalHours);
break;
case EnumDateCompare.minute:
diff = Convert.ToDouble(TS.TotalMinutes);
break;
case EnumDateCompare.second:
diff = Convert.ToDouble(TS.TotalSeconds);
break;
}
return diff;
}
封装一下用起来比较方便 如:
DateDiff(EnumDateCompare.hour,starttime,stoptime)
DateTime startDate = DateTime.Parse("2010-7-21 00:00:00");
DateTime endDate = DateTime.Parse("2010-7-22 00:00:00");
double days = (endDate - startDate).TotalDays;
double hours = (endDate - startDate).TotalHours;