Здесь я использую jQuery, чтобы предупредить пользователя, если он / она хочет добавить расписание на определенное время, но это время уже существует в БД.Предположим, давайте возьмем пример этого: User
имеет расписание на Monday
, равное 8:00AM to 10:00AM
, и есть другое расписание того же пользователя: 1:00PM to 3:00PM
, но если пользователь хочет добавить другое время PM, например 1:00PM to 4:00PM
или 1:30PM to 4:00PM
, затем система сначала проверяет, существует ли время между ними, затем она выдаст предупреждение.Все это делается в golang api, тогда в Jquery есть небольшая проблема: я извлекаю все данные из моего api, но, упорядочивая их, как я сказал выше, 1:00PM to 3:00PM
, если пользователь захочет добавить другое расписание, например 1:30PM to 4:00PM
, тогдапокажите и другие времена, например, 8:00AM to 10:00AM
, почему ниже показан код, который я использую: -
for(var m = 0; m< timearray.length; m++){
for (var l = 0; l < array_time.length; l++) {
if (array_time[l].start_time == timearray[m].start_time && array_time[l].end_time == timearray[m].end_time) {
console.log("hello 1")
result_dates.push(convertTime24to12(secondsTimeSpanToHMS(timearray[m].start_time))+" "+convertTime24to12(secondsTimeSpanToHMS(timearray[m].end_time)));
}
if (array_time[l].start_time < timearray[m].start_time && array_time[l].end_time == timearray[m].end_time) {
console.log("hello 2")
result_dates.push(convertTime24to12(secondsTimeSpanToHMS(timearray[m].start_time))+" "+convertTime24to12(secondsTimeSpanToHMS(timearray[m].end_time)));
}
if (array_time[l].start_time == timearray[m].start_time && array_time[l].end_time > timearray[m].end_time) {
console.log("hello 3")
result_dates.push(convertTime24to12(secondsTimeSpanToHMS(timearray[m].start_time))+" "+convertTime24to12(secondsTimeSpanToHMS(timearray[m].end_time)));
}
if (array_time[l].start_time < timearray[m].start_time && array_time[l].end_time > timearray[m].end_time) {
console.log("hello 4")
result_dates.push(convertTime24to12(secondsTimeSpanToHMS(timearray[m].start_time))+" "+convertTime24to12(secondsTimeSpanToHMS(timearray[m].end_time)));
}
if (array_time[l].start_time > timearray[m].start_time && array_time[l].end_time == timearray[m].end_time){
console.log("hello 5")
result_dates.push(convertTime24to12(secondsTimeSpanToHMS(timearray[m].start_time))+" "+convertTime24to12(secondsTimeSpanToHMS(timearray[m].end_time)));
}
if (array_time[l].start_time > timearray[m].start_time || array_time[l].end_time > timearray[m].end_time){
for (var n = timearray[m].start_time; n < timearray[m].end_time; n++) {
if (timearray[m].start_time == array_time[l].start_time) {
console.log("hello 6")
result_dates.push(convertTime24to12(secondsTimeSpanToHMS(timearray[m].start_time))+" "+convertTime24to12(secondsTimeSpanToHMS(timearray[m].end_time)));
}
}
}
}
}
}
Здесь timearray
- это массив, в котором установлено и запланировано времяarray_time
время, которое пользователь хочет сохранить в базе данных.
В первом состоянии он проверяет, совпадают ли время начала и время окончания, затем выполняется.
Во втором состоянии, если время начала меньше, чем существующее время, а время окончания равно существующему времени окончания, то это будет выполнено.
В третьем условии, если время окончания больше, чем существующее время окончания, и время начала такое же, тогда оно будет выполнено.
В четвертом условии, если время начала меньше, чем существующееВремя начала и время окончания больше, чем существующее время окончания, тогда это будет выполнено.
В пятом состоянии он проверит, что если время начала меньше существующего времени начала и время окончания остается тем же, то это будет выполнено.
Не работает должным образом : - В этом случае, если пользователь добавляет время запуска, например, "1:30PM to 4:00PM"
, оно не будет работать должным образом, оно также будет выдавать данные времени "8:00AM to 10:00AM"
.Что я должен применить к нему, что он покажет только время между "1:00PM to 3:00PM"
.
Может кто-нибудь, пожалуйста, помогите мне решить эту проблему.Спасибо.Надеюсь, вы поймете, что я хочу сказать.