1: using System;
2: using System.Diagnostics;
3:
4: namespace ConsoleApplication1
5: {
6: class Program
7: {
8: static void Main(string[] args)
9: {
10: var earlierDate = new DateTime(2010, 1, 10);
11: var laterDate = new DateTime(2010, 1, 31);
12:
13: Debug.Assert(earlierDate.IsBefore(laterDate));
14: Debug.Assert(!laterDate.IsBefore(earlierDate));
15:
16: Debug.Assert(laterDate.OnOrAfter(earlierDate));
17: Debug.Assert(laterDate.OnOrAfter(laterDate));
18: Debug.Assert(!earlierDate.OnOrAfter(laterDate));
19:
20: Debug.Assert(earlierDate.OnOrBefore(laterDate));
21: Debug.Assert(earlierDate.OnOrBefore(earlierDate));
22: Debug.Assert(!laterDate.OnOrBefore(earlierDate));
23:
24: Debug.Assert(laterDate.On(laterDate));
25: Debug.Assert(!laterDate.On(earlierDate));
26: }
27: }
28:
29: public static class DateExtensions
30: {
31: public static bool IsBefore(this DateTime firstDateTime, DateTime otherDate)
32: {
33: return (firstDateTime < otherDate) ? true : false;
34: }
35:
36: public static bool IsAfter(this DateTime firstDateTime, DateTime otherDate)
37: {
38: return (firstDateTime > otherDate) ? true : false;
39: }
40:
41: public static bool OnOrAfter(this DateTime firstDateTime, DateTime otherDate)
42: {
43: return (firstDateTime >= otherDate) ? true : false;
44: }
45:
46: public static bool OnOrBefore(this DateTime firstDateTime, DateTime otherDate)
47: {
48: return (firstDateTime <= otherDate) ? true : false;
49: }
50:
51: public static bool On(this DateTime firstDateTime, DateTime otherDate)
52: {
53: return firstDateTime.Equals(otherDate);
54: }
55: }
56: }