public static void Main()
DateTime currentTime = DateTime.UtcNow;
TimeSpan t = currentTime - new DateTime(1970, 1, 1);
Int64 millisecondsSinceEpoch = (Int64)t.TotalSeconds * 1000;
Int64 weirdTerm = ((millisecondsSinceEpoch + (Int64)0xFFFFFFFF) % (Int64)0xFFFFFFFF);
Console.WriteLine(weirdTerm);
Int64 millisecondsSinceLastEpochIteration = millisecondsSinceEpoch + (Int64)0xFFFFFFFF - weirdTerm;
Console.WriteLine("Current Cast Cycle");
Console.WriteLine("Cast Time Starts: " + DateTimeOffset.FromUnixTimeMilliseconds(millisecondsSinceLastEpochIteration - (Int64)0xFFFFFFFF).UtcDateTime);
Console.WriteLine("Channel Time Appears: " + DateTimeOffset.FromUnixTimeMilliseconds(millisecondsSinceLastEpochIteration - (Int64)0x7FFFFFFF).UtcDateTime);
Console.WriteLine("Channel Time Ends: " + DateTimeOffset.FromUnixTimeMilliseconds(millisecondsSinceLastEpochIteration).UtcDateTime);