public static void Main()
var currentTime = DateTime.Now.TimeOfDay;
var start = new TimeSpan(20, 0, 0);
var end = new TimeSpan(8, 0, 0);
var midnight = new TimeSpan(24, 0, 0);
if (currentTime >= start || currentTime <= end)
var hoursLeftUntil8 = currentTime.Hours >= 20
? midnight.Subtract(currentTime).Add(end)
: end.Subtract(currentTime);
Console.WriteLine("There are {0} hours, {1} minutes, and {2} seconds left until 8AM",
hoursLeftUntil8.Hours, hoursLeftUntil8.Minutes, hoursLeftUntil8.Seconds);
Console.WriteLine("It is not between 8PM and 8AM.");
Console.WriteLine("\nDone!\n\nPress any key to exit...");
if(date.Hour >= 11 || date.Hour <12)
var DateTime8 = date.Date.AddHours((date.Hour > 8) ? 24 + 8 : 8);
TimeSpan diff = DateTime8 - date;
Console.WriteLine(date.ToString());
TimePeriod t = new TimePeriod();
Console.WriteLine("Time in hours: {0}", t.Hours);