Проблема даты и времени для сравнения со строками в global.aspx в c# - PullRequest
1 голос
/ 31 января 2020

Я работаю над кодом, который имеет логи c, но я не могу сравнить их с помощью, если кто-нибудь может помочь.

Это у меня есть лог c Я глобальный .aspx

string sTime = System.Configuration.ConfigurationManager.AppSettings["StartTime"].ToString();
string eTime = System.Configuration.ConfigurationManager.AppSettings["EndTime"].ToString();
DateTime s = DateTime.Parse(sTime);//here i'm getting an Exception while debugging
DateTime e = DateTime.Parse(eTime);
DateTime nTime = DateTime.Now;
if (nTime >= s || nTime < s)
{
    InvokeUnderMaintenance();
}

Исключение

System.FormatException не было обработано кодом пользователя
HResult = -2146233033 Сообщение = Строка не была распознана как допустимый DateTime. Source = mscorlib StackTrace: в System.DateTimeParse.Parse (строковые s, DateTimeFormatInfo dtfi, стили DateTimeStyles) в System.DateTime.Parse (строковые s) в EsiTrak.Web.MvcApplication.Application_PostAuthenticateWeb: 10: Inquest: Запрос: (0) \ EsiTrak.Web \ Global.asax.cs: строка 138
InnerException:

message :: Исключение типа 'System.FormatException' произошло в mscorlib.dll, но не было обработано в коде пользователя

Это я взял в файле webconfig как значения времени начала и окончания времени

<add key="StartTime" value="12"/>
<add key="EndTime" value="18"/>

Может кто-нибудь сказать мне, как сопоставить время начала и окончания с текущим временем, используя || оператор или && оператор?

1 Ответ

2 голосов
/ 31 января 2020

Вы анализируете целое число, которое не имеет формат даты и времени. Таким образом, синтаксический анализ не может определить формат.

Если вы хотите сравнить с часами, вы можете сделать это следующим образом:

var startHour = Int32.Parse(sTime);
var endHour = Int32.Parse(eTime);
if (nTime.Hour >= startHour && nTime.Hour < eTime)
{
    InvokeUnderMaintenance();
}

Затем вы можете полностью удалить анализ даты и времени.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...