В настоящее время мы переписываем основную часть наших услуг, в основном у нас есть запланированные задачи, которые могут выполняться с интервалами, датами, определенным временем и т. Д. И т. Д. И т. П.
В настоящее время мы задаемся вопросом, может ли переход на летнее время вызвать у нас проблемы, в основном мы рассчитываем следующее возможное время выполнения, исходя из того, в какие дни должно выполняться задание, а также между тем временем и интервалом. Мы делаем это, беря текущее время и добавляя дни / минуты / часы к этому DateTime.
Затем мы берем это новое время выполнения и вычитаем DateTime.Now из этого DateTime, оставляя нам промежуток времени до следующего запуска.
Как бы то ни было, что если текущее время 01:50 в день перехода на летнее время, мы добавляем 20 минут, что является нашим установленным интервалом, и в итоге получаем время 02:10, как бы это ни было, если это дневное освещение. на самом деле 01: 10.
Когда я вычитаю текущее время (01:50) из 01:10 (которое фактически является 02:10), это возвращает отрицательное значение, которое мне нужно обойти, или это никогда не возвращает отрицательное значение, потому что DateTime это просто длинная нижняя часть с правильной информацией?
По сути, следующий код, проверка нужна или нет?
//Get interval between nextrun and right now!
double interval = (NextRun - DateTime.Now).TotalMilliseconds;
//Check if interval is ever less or equal to 0, should never happen but maybe with daylight saving time?
if(interval <= 0)
{
//Set default value
interval = IntervalInMilliseconds;
}
Мы считаем, что эта проверка не нужна, но наш поиск в Google до сих пор не дал нам убедительного ответа.