En mi proyecto, tengo una tabla PostgreSql que contiene una columna de date
(fecha de tipo de datos). La fecha recibida de la columna se pasa a la función getData.
Obtengo una salida en formato 03122021
, que quiero convertir en formato 2021-12-03
(AAAA-MM-DD) DATE ONLY
. ¿Cómo puedo hacer la conversión?
async getData(date){ console.log("date is ", date); ---->>> date is 03122021 const d = new Date(Date.parse(date)); console.log('d', d) ---->> d Invalid Date }
Así que analice la picadura en un formato que reconozca
const date = '03122021' const d = new Date(date.replace(/(\d{2})(\d{2})(\d{4})/,'$2/$1/$3')); console.log(d); const d2 = date.replace(/(\d{2})(\d{2})(\d{4})/,'$3-$2-$1'); console.log(d2);
Puede convertir la fecha en su consulta sql:
SELECT TO_CHAR(dateColumn, 'yyyy-mm-dd') AS formattedDate FROM ...
Sé que esta no es la respuesta perfecta, pero si obtiene este tipo de valor todo el tiempo, entonces puede hacer esto
const dateValue = '03122021' let day = dateValue.substring(0,2) let month = dateValue.substring(2,4) let year = dateValue.substring(4,8) const date =`${year}-${month}-${day}` console.log(date)