main
1using System;
2
3namespace Gorilla.Commons.Utility
4{
5 public static class Clock
6 {
7 private static Func<DateTime> time_provider;
8
9 static Clock()
10 {
11 reset();
12 }
13
14 public static Date today()
15 {
16 return time_provider();
17 }
18
19 public static DateTime now()
20 {
21 return time_provider();
22 }
23
24#if DEBUG
25 public static void change_time_provider_to(Func<DateTime> new_time_provider)
26 {
27 if (new_time_provider != null) time_provider = new_time_provider;
28 }
29#endif
30
31 public static void reset()
32 {
33 time_provider = () => DateTime.Now;
34 }
35 }
36}