Я работаю над проектом, где мне нужно предотвратить совпадение времени на ту же дату. Пользователь должен выбрать дату Pick, Drop Date, Pick Time и Drop Time. Моя логика прекрасно работает и препятствует перекрытию времени, но я пытаюсь понять, как я могу позволить пользователю выбрать ту же дату, а затем сравнить время. Вот мой HTML код:Как предотвратить совпадение времени на ту же дату?
<tr>
<td>
<label>Pick up Date</label>
<input name="DateFrom" id="DateFrom" type="text" size="10" maxlength="10" value="">
<label>Pick up Time</label>
<input name="TimeFrom" id="TimeFrom" type="text" size="10" maxlength="10" value="">
</td>
</tr>
<tr>
<td>
<label>Drop off Date</label>
<input name="DateTo" id="DateTo" type="text" size="10" maxlength="10" value="">
<label>Drop off Time</label>
<input name="TimeTo" id="TimeTo" type="text" size="10" maxlength="10" value="">
</td>
</tr>
и вот моя логика с переданными аргументами:
<cfargument name="DateFrom" type="string" required="yes">
<cfargument name="DateTo" type="string" required="yes">
<cfargument name="TimeFrom" type="string" required="yes">
<cfargument name="TimeTo" type="string" required="yes">
<cfquery name="qryTest">
Select PickDate,DropDate,PickTime,DropTime
From ptReservation
Order by PickDate
</cfquery>
<cfif (arguments.TimeTo LT qryTest.PickTime OR qryTest.DropTime LT arguments.TimeFrom)>
<cfquery name="addReservation" datasource="testData">
//Do insert
</cfquery>
</cfif>
Так, например, мой код будет препятствовать и время перекрывается, но что, если время не в тот же день , Как я могу проверить сначала, если даты совпадают, а затем проверить совпадение времени? если кто-нибудь может помочь с этим, пожалуйста, дайте мне знать.
Хорошее место для начала - просмотр функций по категориям в документации. В частности, [функции даты] (http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec1a60c-7ffc.html#WSc3ff6d0ea77859461172e0811cbec22c24-6986). Для сравнения дат можно использовать несколько. RE: '
Leigh
Если я прав, если предположить, что время срабатывания происходит в Дате отправки (и время простоя происходит в Дата удаления), тогда вы должны комбинировать каждый раз со своей датой, прежде чем сравнивать «Пикап и падение» друг с другом. –
Откуда приходит qryTest? –