public enum DateInterval { Second,Minute,Hour,Day,Week,Month,Quarter,Year } public static long DateDiff(DateInterval Interval,System.DateTime StartDate,System.DateTme EndDate) { long lngDateDiffValue=0; System.TimeSpan TS=new System.TimeSpan(EndDate.Ticks-StartDate.Ticks); switch(Interval) { case DateInterval.Second: lngDateDiffValue=(long)TS.TotalSeconds; break; case DateInterval.Minute: lngDateDiffValue=(long)TS.TotalMinutes; break; case DateInterval.Hour: lngDateDiffValue=(long)TS.TotalHours; break; case DateInterval.Day: lngDateDiffValue=(long)TS.Days; break; case DateInterval.Week: lngDateDiffValue=(long)(TS.Days/7); break; case DateInterval.Month: lngDateDiffValue=(long)(TS.Days/30); break; case DateInterval.Quarter: lngDateDiffValue=(long)((TS.Days/30)/3); break; case DateInterval.Year: lngDateDiffValue=(long)(TS.Days/365); break; } return (lngDateDiffValue); }