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:
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
From:
HP.Mahesh.UtilityManager.Libraries.DateTimeUtility