Me gustaría saber cómo comparar dos cadenas de fecha diferentes en javascript.
Dos cadenas de fecha, d1 y d2 siempre tienen el formato dd mmm yyyy y yyyy-mm-dd
Cómo comparar la cadena de fecha si es igual o no en javascript A continuación, la cadena de fecha es un ejemplo,
var d1 = "12 Feb 1990" var d2 = "1990-02-12" if(d1.split(' ').[1] === new Date().toLocaleString('en-US', {month: 'short'})){ return true; } else { return false }Si desea comparar solo la cadena de fecha, todo lo que necesita es el método .toDateString . Algo como
Puedes leer más sobre el método toDateString en MDN
let d1 = "12 Feb 1990" let d2 = "1990-02-12" const d1String = new Date(d1).toDateString() const d2String = new Date(d2).toDateString() if (d1String === d2String) { console.log('Equal'); } else { console.log('Not equal'); }Aquí hay un código que reordena la cadena "1990-02-12" y la compara con la del "12 de febrero de 1990":
function d2ToNormalDate(string) { return string.split("-")[1] + "-" + string.split("-")[2] + "-" + string.split("-")[0]; } function areDateStringsEqual(string1, string2) { // Expects string1 to be a string like "12 Feb 1990" and // expects string2 to be a string like "1990-02-12". // returns a boolean. return new Date(d2ToNormalDate(string2)).toString() === new Date(string1).toString() }