Nano Hash - криптовалюты, майнинг, программирование

c # - Как пройти по временному диапазону

Я хотел бы определить время начала как 18:00 и время окончания как 21:00. Этот временной диапазон (как показано ниже) используется для повседневного расписания. Как мне реализовать цикл for? Благодарю за любой ответ.

6:00 PM 
6:30 PM 
7:00 PM 
7:30 PM 
8:00 PM 
8:30 PM 
9:00 PM

  • пожалуйста, покажите какой-нибудь исходный код ... что вы пробовали? что не работает? 28.01.2012
  • Как определяется ваш временной диапазон? 28.01.2012
  • А что насчет даты, это не имеет значения? 28.01.2012
  • Дата @Lucero не имеет значения, поскольку каждый день используется один и тот же временной диапазон. 28.01.2012
  • @Oded это то, что я не знаю. Я знаю, как перебирать диапазон DATE, но в моем случае мне просто нужно только время. 28.01.2012
  • @Yahia У меня нет никаких идей. вот пример цикла по диапазону дат. stackoverflow.com/ вопросы / 1847580 /. Однако мне нужен только цикл во времени. 28.01.2012

Ответы:


1

вы можете использовать цикл while

var startTime = DateTime.Parse("2012-01-28 18:00:00");
var endTime = startTime.AddHours(3);
while (startTime <= endTime)
{
  System.Console.WriteLine(startTime.ToShortTimeString());
  startTime = startTime.AddMinutes(30);
}
28.01.2012

2

Простой пример с TimeSpan:

for (int minutes = 6 * 60; minutes <= 9 * 60; minutes += 30)
{
    Console.WriteLine(TimeSpan.FromMinutes(minutes));
}
28.01.2012
  • вы можете использовать 12+6 и 12+9, так как время PM;) 28.01.2012
  • @Lucero Ну, на самом деле TimeSpan представляет собой временной интервал, а не дату (т.е. представленное количество времени не связано с конкретным днем ​​/ часом). Я не уверен, что добавление понятия «после полудня» актуально для TimeSpan. 28.01.2012
  • @ key2k, я в курсе, что такое TimeSpan. Дело в том, что промежуток времени с полуночи должен быть вычислен с добавлением 12 для PM, иначе вы получите время AM при добавлении его к (чистой) дате. 28.01.2012

  • 3

    вы можете попробовать использовать DateTime.Now.Hour, чтобы получить час и использовать предложения if. см. пример ниже

    if (DateTime.Now.Hour >= 9 && DateTime.Now.Hour <= 18) { Console.WriteLine("Bonjour " + Environment.UserName); }
                        else
                        {
                            Console.WriteLine("Bonsoir " + Environment.UserName);
                        }
    
    28.01.2012

    4

    если вы проходите через текущую дату с диапазоном времени, например, с 10:00:00 до 17:00:00, тогда вы можете использовать приведенный ниже код

     DateTime startTime = DateTime.Parse("10:00:00");
    
        DateTime endTime = DateTime.Parse("17:00:00");
    while (startTime <= endTime)
    {
      System.Console.WriteLine(startTime.ToShortTimeString());
      startTime = startTime.AddMinutes(30);
    }
    
    28.10.2014
  • Пояснения к вашему коду очень помогут сделать ваш ответ полезным. 28.10.2014

  • 5

    Когда вы используете TimeSpan (время вместо времени и даты в DateTime)

    TimeSpan interval = new TimeSpan(0, 30, 0);
    TimeSpan beginTime = new TimeSpan(18, 00, 00);
    TimeSpan endTime = new TimeSpan(21, 00, 00);
    
    for(TimeSpan tsLoop = beginTime; tsLoop < endTime; tsLoop = tsLoop.Add(interval))
    {
    
    }
    
    04.11.2014
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..