Tengo dos fechas en un formato específico (cadenas). Necesito verificar si la fecha actual es inferior a la fecha máxima permitida:
var date_current = '03_25_2022'; var date_max = '03_30_2022';El formato siempre será m_d_Y . Dado que técnicamente son cadenas, ¿cuál sería la mejor manera de compararlas como fechas?
Estoy usando esta función pero no estoy seguro del enfoque:
function compareDates(d1, d2){ var parts = d1.split('_'); var d1 = Number(parts[1] + parts[2] + parts[0]); parts = d2.split('_'); var d2 = Number(parts[1] + parts[2] + parts[0]); return d1 <= d2; }Primero puede convertir esta cadena en un objeto de fecha y luego comparar su marca de tiempo de la siguiente manera:
function strToDate(str) { const splits = str.split('_'); if (splits.length !== 3) { throw Error("Invalid date"); } return new Date(splits[2], parseInt(splits[0]) - 1, splits[1]); } let dateCurrent = strToDate('03_25_2022'); let dateMax = strToDate('03_30_2022'); console.log(dateMax.getTime() > dateCurrent.getTime())