在SQL 中有Datediff函數﹐在需要進行時間方面的計算機時很好使﹐可在C#中卻沒有這種函數﹐一個偶然的機會﹐在網上找到如下類。轉貼在這里。以供日后使用.
publicenumDateInterval


{
Second,Minute,Hour,Day,Week,Month,Quarter,Year
}
publicsealedclassDateTimeManger


{
privateDateTimeManger()


{}//endofdefaultconstructor
publicstaticlongDateDiff(DateIntervalInterval,System.DateTimeStartDate,System.DateTimeEndDate)


{
longlngDateDiffValue=0;
System.TimeSpanTS=newSystem.TimeSpan(EndDate.Ticks-StartDate.Ticks);
switch(Interval)


{
caseDateInterval.Second:
lngDateDiffValue=(long)TS.TotalSeconds;
break;
caseDateInterval.Minute:
lngDateDiffValue=(long)TS.TotalMinutes;
break;
caseDateInterval.Hour:
lngDateDiffValue=(long)TS.TotalHours;
break;
caseDateInterval.Day:
lngDateDiffValue=(long)TS.Days;
break;
caseDateInterval.Week:
lngDateDiffValue=(long)(TS.Days/7);
break;
caseDateInterval.Month:
lngDateDiffValue=(long)(TS.Days/30);
break;
caseDateInterval.Quarter:
lngDateDiffValue=(long)((TS.Days/30)/3);
break;
caseDateInterval.Year:
lngDateDiffValue=(long)(TS.Days/365);
break;
}
return(lngDateDiffValue);
}//endofDateDiff
}//endofclass

Samples:
publicclassDateDiffCS


{
publicstaticvoidMain(string[]CmdLineArgs)


{
System.DateTimedate1=System.DateTime.Now;
System.DateTimedate2=System.DateTime.Now.AddYears(2);
System.Console.Out.WriteLine("Days:"+DateTimeManger.DateDiff
(DateTimeManger.DateInterval.Day,date1,date2).ToString());
System.Console.Out.WriteLine("Hours:"+DateTimeManger.DateDiff
(DateTimeManger.DateInterval.Hour,date1,date2).ToString());
System.Console.Out.WriteLine("Minutes:"+DateTimeManger.DateDiff
(DateTimeManger.DateInterval.Minute,date1,date2).ToString());
System.Console.Out.WriteLine("Month:"+DateTimeManger.DateDiff
(DateTimeManger.DateInterval.Month,date1,date2).ToString());
System.Console.Out.WriteLine("Quarter:"+DateTimeManger.DateDiff
(DateTimeManger.DateInterval.Quarter,date1,date2).ToString());
System.Console.Out.WriteLine("Seconds:"+DateTimeManger.DateDiff
(DateTimeManger.DateInterval.Second,date1,date2).ToString());
System.Console.Out.WriteLine("Week:"+DateTimeManger.DateDiff
(DateTimeManger.DateInterval.Week,date1,date2).ToString());
System.Console.Out.WriteLine("Year:"+DateTimeManger.DateDiff
(DateTimeManger.DateInterval.Year,date1,date2).ToString());
System.Console.In.ReadLine();
}
}//endoftheclass
From:
HP.Mahesh.UtilityManager.Libraries.DateTimeUtility
