¿Cómo obtener la fecha formateada del resultado de los datos?
var obj = data.map(row => ({ id: row[0], status: row[1], datepublished: row[2] })); Este es el resultado cuando datepublished el campo de fecha de publicación
[ { "id": 440937003, "status": "Not Available", "datepublished": "2022-03-27T16:00:00.000Z" } ] var obj = data.map(row => ({ id: row[0], status: row[1], datepublished: new Date(row[2].getTime() - (row[2].getTimezoneOffset() * 60000 )).toISOString().split("T") }));Estos son mis datos de resultados actuales
[ { "id": 440937003, "status": "Not Available", "datepublished": [ "2022-03-28", "00:00:00.000Z" ] }, ]el resultado que quiero es
[ { "id": 440937003, "status": "Not Available", "datepublished": "2022-03-28" }, ] const data = [ { id: 440937003, status: 'Not Available', datepublished: '2022-03-27T16:00:00.000Z', }, ]; const parsedData = data.map(({ id, status, datepublished }) => ({ id, status, datepublished: datepublished.slice(0, 10), })); console.log(parsedData)Su cadena ISO 8601 está en UTC como indica la Z , por lo que split()[0] o substring(0, 10) son la mejor opción si necesita UTC.
En caso de que necesite su cadena en otra zona horaria, analícela primero y luego use toLocaleDateString() con la configuración regional de en-CA (esto imprimirá year-month-day ) y cualquier zona horaria que necesite como una opción como esta:
// For UTC const iso8601str = "2022-03-27T16:00:00.000Z"; const split = iso8601str.split("T")[0]; const substring = iso8601str.substring(0, 10); // For another timezone // parse first, then format in desired timezone // locale "en-CA" ensures format of year-month-day const asiaDateStr = new Date(iso8601str).toLocaleDateString( "en-CA", { timeZone: "Asia/Shanghai" } // options objects which also takes timeZone as an argument ); console.log("In UTC wiht split():", split); console.log("In UTC with substring():", substring); console.log("In Asia/Shanghai:", asiaDateStr); Eche un vistazo a los documentos de MDN para ver qué opciones existen para timeZone .