public static void Main()
DayOfWeek backupDayOfWeek = DayOfWeek.Thursday;
TimeSpan backupTime = new TimeSpan(8,0,0);
DateTime nextDate = DateTime.Today.AddDays((7 + (backupDayOfWeek - DateTime.Today.DayOfWeek)) % 7);
DateTime nextDateTime = nextDate.AddHours(backupTime.Hours).AddMinutes(backupTime.Minutes).AddSeconds(backupTime.Seconds);
if (nextDateTime < DateTime.Now)
nextDateTime = nextDateTime.AddDays(7);
Console.WriteLine($"next datetime {nextDateTime}");
TimeSpan dateDiff = nextDateTime - DateTime.Now;
Console.WriteLine($"milliseconds {dateDiff.TotalMilliseconds}");