Глядя на конструктор даты в документации см. "Синтаксис" , он ожидает целые числа в следующем порядке: ГГГГ, ММ, ДД, ЧЧ, ММ, СС ...
Так что переупорядочить это хитрость.И помните, что месяцы начинаются с нуля.
var date = '09/06/2018'; // DD/MM/YYYY
// Create a date object...
var dateArr = date.split("/");
var dateToCompare = new Date(parseInt(dateArr[2]),parseInt(dateArr[1])-1,parseInt(dateArr[0]));
console.log(dateToCompare);
// Date object for today
var today = new Date();
console.log(today);
if(dateToCompare < today){
alert('date is in the past');
}
Еще один способ, которым я настоятельно рекомендую , когда дело касается дат, - это использование Moment.js :
Таким образом, вы можете легко управлять любым форматом даты ... и надежно выводить различные вычисления даты.
var date = '10/06/2018'; // DD/MM/YYYY
// Create a date object...
var dateToCompare = moment(date,"DDMMYYYY"); // See that second argument?
console.log(dateToCompare);
// Date object for today
var today = moment().startOf('day'); // At midnight earlier today
console.log(today);
if(dateToCompare < today){
alert('date is in the past');
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>