You need to take the date from the dt_send_daytime column. Ie 1: 1: 4: 0 every week, every Monday, at one o'clock, 4 minutes it should work. Can I do this?
Where is the date put?
foreach(DataRow row in dt.Rows) { MyTimer myTimer = new MyTimer(); string dt_str = row["shedule_dt_send_daytime"].ToString(); string[] dt_str_tmp = dt_str.Split(':'); switch (row["time_name_ru"].ToString().ToUpper()) { case "ЧАС": Console.WriteLine(dt_str_tmp[2] + ":" + dt_str_tmp[3]); //мм:сс break; case "НЕДЕЛЯ": Console.WriteLine(dt_str_tmp[0] + ":" + dt_str_tmp[1]); //дд:чч break; case "ДЕНЬ": Console.WriteLine(dt_str_tmp[1] + ":" + dt_str_tmp[2]); //чч:мм break; case "МИНУТ": Console.WriteLine(dt_str_tmp[3]); //сс break; } // вот тут надо что-то вставить myTimer.datetime = Convert.ToDateTime(row["shedule_dt_send_daytime"]); myTimer.alg = Convert.ToString(row["meta_cod"]); // myTimer.Dt_Begin = Convert.ToDateTime(row["shedule_dt_beg"]); // myTimer.Dt_Period_End = row["shedule_dt_period_end"]; myTimer.Interval = Convert.ToInt32(dt_str_tmp); myTimer.Elapsed += OnTimeout; myTimer.AutoReset = true; myTimer.Enabled = true; } 