Как сравнить даты в JavaScript?
Я получаю массив с датами с сервера, и мне нужно их сравнить с сегодняшним днем. Если сравнить в сыром виде, то сравниваются только дни. Как правильно сравнить даты? Пример:
16/07/1971,
05/07/1973,
01/03/1975,
20/11/1985,
06/07/1987,
13/11/1992,
15/05/1995,
28/02/1997,
08/01/1999,
09/11/2009,
21/01/2027,
Я попытался использовать new Date, но выдает ошибку Invalid Date
import {createStore} from 'vuex';
import axios from 'axios';
const store = createStore({
state: {
test: 'test',
days: [],
},
mutations: {
SET_DAYS: (state, days) => {
days.forEach(item => {
state.days = new Date(item);
});
console.log(state.days);
}
},
actions: {
GET_DAYS({
commit
}) {
return axios.get('api/get-days')
.then((days) => {
commit('SET_DAYS', days.data);
return days;
})
.catch((error) => {
console.log(error);
return error;
})
}
},
getters: {
DAYS(state){
return state.days;
}
}
});
export default store;
<template>
<div v-for="day in DAYS" :key="day.id">
<div v-if="day < today">
{{ today }} больше {{ day }}
</div>
<div v-else>
{{ today }} меньше {{ day }}
</div>
</div>
</template>
<script>
import { mapActions, mapGetters } from 'vuex';
export default {
name: "Sidebar",
computed: {
...mapGetters([
'DAYS'
]),
},
data: () => ({
days: [],
today: null,
}),
mounted() {
this.getToday();
this.GET_DAYS();
},
methods: {
...mapActions([
'GET_DAYS'
]),
getToday() {
let date = new Date();
let output = date.toLocaleDateString();
this.today = output;
}
},
}
</script>