Как Javascript проверить время окончания и время с анализом даты с AM/PM?

Это мой сценарий.

$(document).on("click","input[name='to_time[]']",function(){
    var from = $("input[name='from_time[]']").val(); // "11:15 AM"
    var to = $("input[name='to_time[]']").val(); //"10:15 AM"

    if(Date.parse(from) > Date.parse(to)){
      alert("Invalid Date Range");
    }
});

От Datepicker, получая дату в формате "12:54 PM". Date.parse(from) возвращается как не число. NaN Как мне разобрать эту строку в объекте Javascript или есть какой-нибудь альтернативный способ проверки времени окончания и времени.

1 ответ

Решение

Вы можете использовать библиотеку Moment.js для этого. Увидеть ниже

var from =  "11:15 AM";
var to = "10:15 AM";

if (moment(from, 'hh:mm a') > moment(to, 'hh:mm a')) {
  alert("Invalid Date Range");
} else {
  alert("Valid Date Range");
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.19.4/moment.js"></script>

Не забудьте добавить формат hh:mm a при преобразовании строки времени в объект.

Другие вопросы по тегам