Алгоритм, нужно получить на выходе определенное время - C#

Узнай цену своей работы

Формулировка задачи:

Помогите с алгоритмом нужно получить на выходе определенное время, не могу сообразить как сделать входные переменные:
cur - текущее время
ofset - смещение относительно начала часа в минутах 
period -  периодичность изменения  в минутах
public static DateTime Next(DateTime cur, int ofset, int period)  // где то накосячил не пойму где
        {
            int temp = (cur.Minute / period) * period + ofset;
            DateTime date = cur.AddMinutes(temp - cur.Minute).AddSeconds(-cur.Second);
            return date;
        }
т.е. при cur = DateTime.Now, ofset = 2, period = 3 на выходе должно быть cur = 10:00:05 результат = 10:02:00 cur = 10:01:45 результат = 10:02:00 cur = 10:03:35 результат = 10:05:00 cur = 10:04:13 результат = 10:05:00 Т.е. зависимости от поданного на вход времени на выходе должны получать
if(59<cur.Minute<2) результат  =yyyy-mm-dd (hh+1):02:00
if(2<cur.Minute<5) результат  =yyyy-mm-dd hh:05:00
if(5<cur.Minute<8) результат  =yyyy-mm-dd hh:08:00
.... 
if(20<cur.Minute<23) результат  = yyyy-mm-dd hh:23:00

Решение задачи: «Алгоритм, нужно получить на выходе определенное время»

textual
Листинг программы
 public void timer_Tick(object sender, EventArgs e)
        {
          DateTime count_timer = DateTime.Now;
          if (count_timer >= short_opros)
            {
                short_opros = Next(count_timer, 2, 3);
                ....
            }
       }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.6 из 5
Похожие ответы