IndieDateTime is a simple and easy-to-use wrapper around .NetFramework DateTime class that has it's own timer which is independent from user system. Being independent from system allows developer to have access to a almost accurate date and time which also prevents users to abuse the application by changing system date and time.
IndieDateTime is suitable for client/server applications where the client is potentially has manipulated or invalid date and time.
PM> Install-Package IndieDateTime
All is needed to be done is to instantiate a variable of IndieDateTime in public place. Then it is important to synchronize the date and time with the server time.
class Sample { public static IndieDateTime IndieDate { get; set; } static Sample() { IndieDate = new IndieDateTime(); } public static void Sync(DateTime serverDateTime) { IndieDate.Sync(serverDateTime); } public static void ShowDate() { MessageBox.Show(IndieDate.Now.ToString()); } }