Проверка временного диапазона с использованием jQuery
У меня есть страница с 2 текстовыми полями (время начала и время окончания), я использую элемент времени HTML5, теперь я хочу проверить, время начала всегда меньше времени окончания, в настоящее время я использую скрипт ниже для проверки
function checkTimings(source, argument) {
var sTime = new Date("01/01/0001 " + $("[id$=txtStartTimings]").val());
var eTime = new Date("01/01/0001 " + $("[id$=txtEndTimings]").val());
argument.IsValid = sTime < eTime;
}
Это работает, когда оба тайминга - AM или PM, но есть один случай, когда время начала будет PM, а время окончания будет AM, например с 11.45 до 12.15, здесь проверка не пройдена.
Кто-нибудь может подсказать, как мы могли бы справиться с этой ситуацией?
2 ответа
Можно ли преобразовать их в 24-часовой формат перед выполнением расчетов?
function checkTimings(source, argument) {
var sTime = new Date("01/01/0001 " + $("[id$=txtStartTimings]").GetHours());
var eTime = new Date("01/01/0001 " + $("[id$=txtEndTimings]").GetHours());
argument.IsValid = sTime < eTime;
}
Вы можете напрямую передать дату в конструкторе данных, чтобы получить фактическую дату.
function checkTimings(source, argument) {
var sTime = new Date($("[id$=txtStartTimings]").val());
var eTime = new Date($("[id$=txtEndTimings]").val());
argument.IsValid = sTime < eTime;
}
если проблема не устраняется, просто измените формат вашей даты в текстовом поле или вы также можете проанализировать дату в функции js.