Проверка это время внутри диапазона
Я пытаюсь выполнить проверку, введено время внутри заданного интервала времени, но я застрял... У меня есть один основной блок, и другой класс, который выполняет проверку, это введенное время внутри интервала, но я продолжаю получать "Нет перегрузки для метода" IsBetween " принимает 0 аргументов "когда я пытаюсь вызвать метод и получить простой bool true или false, я знаю, что решение, вероятно, действительно простое, но я просто не могу понять это...:
static void Main()
{
var currentTime = Console.ReadLine();
DateTime now = Convert.ToDateTime(currentTime);
var dateNow = DateTime.Now;
var startTime = new DateTime(dateNow.Year, dateNow.Month, dateNow.Day, 13, 0, 0);
var endTime = new DateTime(dateNow.Year, dateNow.Month, dateNow.Day, 3, 0, 0);
}
Это мой класс для проверки:
public static class TimeExtensions
{
public static bool IsBetween(this DateTime now, DateTime startTime, DateTime endTime)
{
if (now.TimeOfDay == startTime.TimeOfDay) return true;
if (now.TimeOfDay == endTime.TimeOfDay) return true;
if (startTime.TimeOfDay <= endTime.TimeOfDay)
return (now.TimeOfDay >= startTime.TimeOfDay && now.TimeOfDay <= endTime.TimeOfDay);
else
return !(now.TimeOfDay >= endTime.TimeOfDay && now.TimeOfDay <= startTime.TimeOfDay);
}
}
1 ответ
Решение
Ошибка предполагает, что вы звоните IsBetween
лайк:
bool b = now.IsBetween();
но вам нужно указать время начала и окончания:
bool b = now.IsBetween(startTime, endTime);