public
enum
DateInterval
{
Second, Minute, Hour, Day, Week, Month, Quarter, Year
}
public sealed class DateTimeManger
{
private DateTimeManger()
{} // end of default constructor
public static long DateDiff(DateInterval Interval, System.DateTime StartDate, System.DateTime 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);
} // end of DateDiff
} // end of class
Samples:
From:
{
Second, Minute, Hour, Day, Week, Month, Quarter, Year
}
public sealed class DateTimeManger
{
private DateTimeManger()
{} // end of default constructor
public static long DateDiff(DateInterval Interval, System.DateTime StartDate, System.DateTime 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);
} // end of DateDiff
} // end of class
Samples:
public
class
DateDiffCS
{
public static void Main ( string [] CmdLineArgs)
{
System.DateTime date1 = System.DateTime.Now;
System.DateTime date2 = 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();
}
} // end of the class
{
public static void Main ( string [] CmdLineArgs)
{
System.DateTime date1 = System.DateTime.Now;
System.DateTime date2 = 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();
}
} // end of the class
From:
HP.Mahesh.UtilityManager.Libraries.DateTimeUtility
本文转自RubyPdf 的中文博客博客园博客,原文链接:http://www.cnblogs.com/hardrock/archive/2006/05/17/402654.html/,如需转载请自行联系原作者