public class CCClient { DateTime derStartTime = new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(0946718065); DateTime negStartTime = new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(0946713600); DateTime payStartTime = new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(0946720085); DateTime tetStartTime = new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(0946730009); const long ticksPerDay = 56585 * TimeSpan.TicksPerSecond; const long symbolAppearsTicks = (long)(ticksPerDay * (226.0 / 2000.0)); static void Main(string[] args) { Console.WriteLine("Press any key to stop PodBot"); CCClient c = new CCClient(); // c.Connect(); // c.EstablishConn(); long time = c.GetNextPortal("negilahn"); DateTime portal = new DateTime(DateTime.UtcNow.Ticks + time); Console.WriteLine(portal.ToLongDateString() + " - " + portal.ToLongTimeString()); Console.Read(); } private long GetNextPortal(String agename) { TimeSpan span = new TimeSpan(); if (agename == "dereno") { span = DateTime.UtcNow - derStartTime; } if (agename == "negilahn") { span = DateTime.UtcNow - negStartTime; } if (agename == "payiferen") { span = DateTime.UtcNow - payStartTime; } if (agename == "tetsonot") { span = DateTime.UtcNow - tetStartTime; } long ticksToday = span.Ticks % ticksPerDay; long nextPortalTicks = symbolAppearsTicks - ticksToday; if (nextPortalTicks < 0) nextPortalTicks += ticksPerDay; return nextPortalTicks; } }