Как я могу проверить, если warrantstatustime меньше, чем текущее время?
У меня есть следующее утверждение if. То, что я пытаюсь сделать, - это проверить внутри xml-документа в objXMLInputDoc, чтобы увидеть, равен ли WarrantStatusDate внутри NewWarrantStatus сегодняшней дате, и если WarrantStatusTime внутри NewWarrantStatus меньше текущего времени. Если это правда, то ничего не делайте, иначе покажите сообщение об ошибке, поместив его в переменную strErrorResponse.
Время, которое у меня есть в objXMLInputDoc для WarrantStatusTime, составляет 12:10:00.
Если этот оператор if выполняется в 12:15:00 (текущее время), это означает, что ничего не делать, потому что WarrantStatusTime (12:10:00) больше, чем время выполнения кода.
Если этот оператор if выполняется в 12:00:00, то сообщение об ошибке должно быть помещено внутрь переменной strErrorResponse, поскольку 12:00:00 (текущее время) находится перед WarrantStatusTime (12:10:00)
В моем заявлении if я поставил < 4, что составляет минуты, но не уверен, что это способ проверить, является ли WarrantStatusTime меньше текущего времени.
Как мне это сделать?
objXMLInputDoc имеет следующий xml-код
<?xml version="1.0" encoding="UTF-8"?> <UpdateWarrantStatus> <WarrantNumber> <ID>2</ID> </WarrantNumber> <CurrentWarrantStatus> <WarrantStatusTypeText code="RECALLED">Recalled Inactive</WarrantStatusTypeText> <WarrantStatusDate>2018-10-16</WarrantStatusDate> </CurrentWarrantStatus> <NewWarrantStatus> <WarrantStatusTypeText code="IBARCLR">Warrant Cleared by Arrest</WarrantStatusTypeText> <WarrantStatusDate>2018-10-16</WarrantStatusDate> <WarrantStatusTime>12:10:00</WarrantStatusTime> <WarrantStatusComment>New status</WarrantStatusComment> </NewWarrantStatus> </UpdateWarrantStatus>
Что я уже пробовал:
'New warrant status date specified in e-file = today, and time is less < current time dtmNewWarrantStatusDateTime = CDate(objXMLInputDoc.DocumentElement.SelectSingleNode("msc:NewWarrantStatus/msc:WarrantStatusDate").InnerText + " " + objXMLInputDoc.DocumentElement.SelectSingleNode("msc:NewWarrantStatus/msc:WarrantStatusTime").InnerText) If ((dtmNewWarrantStatusDateTime.Date = Date.Today) And (DateDiff(DateInterval.Minute, Date.Now, dtmNewWarrantStatusDateTime) < 4)) Then Else strErrorResponse = "New warrant status Date and Time combination is invalid because time is in the past. i.e time less than current time." objXMLInputDoc.DocumentElement.SetAttribute("error", strErrorResponse) End If
Alek Massey
В чем заключается ваша проблема?
Member 11403304
Проблема, с которой я сталкиваюсь, заключается в том, что я получаю сообщение об ошибке, даже когда я не должен его получать. Я думаю, что проблема где я говорю, &ЛТ; 4. Я не уверен, как сделать мое заявление, если сравнивать время в элементе WarrantStatusTime с текущим временем (сейчас) и если, что времени на элемент WarrantStatusTime меньше, чем текущее время (например.г несколько минут раньше, чем текущее время), то ничего не делать. Если это время в WarrantStatusTime не раньше текущего времени, то показать сообщение об ошибке
Я делаю две вещи.
1. Проверьте, совпадает ли дата в NewWarrantStatus/WarrantStatusDate с сегодняшней датой. Я сделал это успешно.
2. Проверьте время в WarrantStatusDate/WarrantStatusTime и если это время не меньше (раньше) текущего времени, то покажите сообщение об ошибке, которое означает, что условие не удалось. Это та часть, в которой мне нужна помощь.
Я знал, что это неправильно, но мне нужно было хотя бы попытаться что-то сделать, прежде чем обращаться за помощью.
Все, что мне сейчас нужно, - это часть 2 моего заявления if.
т. е. Проверьте время в WarrantStatusDate/WarrantStatusTime и если это время не меньше (раньше) текущего времени, то я добавлю сообщение об ошибке. Я знаю, как добавить сообщение об ошибке, но мне нужна помощь, чтобы проверить WarrantStatusTime, если он не меньше текущего времени.
Спасибо за вашу помощь.