Tengo una función que espera que la fecha de inicio y la fecha de finalización estén en formato AAAA-mm-dd como (Cadena). Debido a que estoy usando un par de componentes/complementos, a veces las fechas vienen en diferentes formatos.
Si la fecha tiene el formato "Mié 01 de enero de 2020 00:00:00 GMT-0800". Quiero convertirlo en YYYY-mm-dd Sin embargo, si ya está en formato YYYY-mm-dd, no lo toque.
Intenté usar algo como donde paso mi cadena inicial, pero parece estar arruinando mi fecha debido a la naturaleza inconsistente del valor startDate.
var d = new Date(startDate); var datestring = d.getDate() + "-" + (d.getMonth()+1) + "-" + d.getFullYear() + " " + d.getHours() + ":" + d.getMinutes();Puede obtener fácilmente los datos en YYYY-mm-dd usando toISOString y dividir
function getDate(date) { return date.match(/^\d{4}-\d{2}-\d{2}$/) ? date : new Date(date).toISOString().split("T")[0]; } console.log(getDate("2020-03-12")); console.log(getDate("Wed Jan 01 2020 00:00:00 GMT-0800")); console.log(getDate("Wed Dec 01 2020 00:00:00 GMT-0800")); console.log(getDate("Wed Mar 29 2020 00:00:00 GMT-0800"));