C# DdateDiff 函数功能
public static long DateDiff(string interval, DateTime dt1, DateTime dt2)
{
if (interval.ToLower() == "y" || interval.ToLower() == "year")
return dt2.Year - dt1.Year;
if (interval.ToLower()=="m" || interval.ToLower()=="month")
return (dt2.Month - dt1.Month) + (12 * (dt2.Year - dt1.Year));
TimeSpan ts = dt2 - dt1;
if (interval.ToLower() == "d" || interval.ToLower() == "day")
return Round(ts.TotalDays);
if (interval.ToLower() == "h" || interval.ToLower()=="hour")
return Round(ts.TotalHours);
if (interval.ToLower()=="mi" || interval.ToLower()=="minute")
return Round(ts.TotalMinutes);
if (interval.ToLower() == "s" || interval.ToLower()=="second")
return Round(ts.TotalSeconds);
if (interval.ToLower() == "w" || interval.ToLower() == "weekday")
return Round(ts.TotalDays / 7.0);
return 0;
}
private static long Round(double dVal)
{
if (dVal >= 0)
return (long)Math.Floor(dVal);
return (long)Math.Ceiling(dVal);
}