Я пытался найти правильное решение для следующей проблемы. У меня есть таблица SQL со столбцом времени (в этом формате: hh:mm:ss
). Он содержит начальное время для программы.
Теперь я хочу сравнить время от указанного столбца до DateTime.Now, и всякий раз, когда время в столбце совпадает со временем, в которое теперь должен вызываться метод (например,).
У меня сейчас несколько проблем:
Обычно я использую string startingtime = cmdx.ExecuteScalar().ToString();
для получения значения из таблицы SQL, но я не уверен, что это умно дляпреобразовать время в строку здесь
Моя программа является службой Windows и всегда будет работать, и я не уверен, разумно ли использовать секунды при сравнении времени из таблицы SQL свремя, потому что даже разница в 1 секунду может означать, что метод не будет вызван.
Моя первая попытка была такой:
string startingtime = cmdx.ExecuteScalar().ToString();
string timenow = DateTime.Now.ToString("HH:mm:ss");
var u1 = TimeSpan.Parse(timenow);
var u2 = TimeSpan.Parse(startingtime);
Console.WriteLine(u1 - u2);
Я мог бы тогдаиспользуйте разницу между u1
и u2
и, скажем, если она меньше одной минуты, программа должна запуститься. это нормальное решение, но может быть и лучше, я жду ваших решений. Заранее спасибо