Tengo un archivo JSON con múltiples entradas similares a la siguiente
[ { "timestamp": "7/8/2021", "parent": "/develop-life-skills/", "name": "Markus", "comment": "Lorem ipsum dola sit amet.", "isAuthor": false } ] ¿Alguien me aconsejaría sobre cómo convertir la marca de tiempo de m/d/yyyy a un formato de yyyy-mm-dd ?
Intente usar el toLocateDateString() incorporado...
let formattedDate = new Date(item.timestamp).toLocaleDateString('en-CA', { year: 'numeric', month: 'numeric', day: 'numeric' });Tomaría esos datos, los incluiría en un script que usa JSON.parse(data) y mapea esos datos para actualizar el valor en consecuencia. Usar una biblioteca como date-fns es lo que buscaría.
import {format} from 'date-fns'; const data = [ { "timestamp": "7/8/2021", "parent": "/develop-life-skills/", "name": "Markus", "comment": "Lorem ipsum dola sit amet.", "isAuthor": false } ]; const formattedData = JSON.parse(data).map(item => { const itemWithNewDateFormat = { ...item, timestamp: format(new Date(item.timestamp), 'yyyy-mm-dd') } return itemWithNewDateFormat; }); // You could then stringify with JSON.stringify(formattedData)intente esto, si usa la función de mapa, creará otra matriz, este código actualiza uno existente
var json=...your obj; json.forEach((item) => { var arr = item.timestamp.split("/"); item.timestamp = `${arr[2]}-${arr[0].padStart(2,"0")}-${arr[1].padStart(2,"0")}`; });