Ejecutándose en el script de la aplicación, hoja de Google. Obtengo la marca de tiempo de la API y devuelvo este resultado:
[[1.6370611672429312E18], [1.63706107263277082E18]],Hago este código y funciona bien, pero el problema no está en la matriz, lo necesito cada vez que estoy en una matriz:
const timestamps = [[1.6370611672429312E18], [1.63706107263277082E18]]; for (let i = 0; i < timestamps.length; i++) { const timestamp = new Date(timestamps[i][0] / 1000000); const convertDate = Utilities.formatDate(timestamp, "GMT", "MM-dd-yyyy HH:mm:ss"); }el resultado es:
1:52:34 PM Info 11-16-2021 12:52:33 1:52:34 PM Info 11-16-2021 12:52:33 1:52:34 PM Info 11-16-2021 12:52:33 Necesito resultados como ese: 1:52:34 PM Info [[11-16-2021 12:52:33], [11-16-2021 12:50:10]]
para poner en la hoja con este código: sheet.getRange(1,1,convertDate .length, convertDate [0].length).setValues(convertDate );
const timestamps = [[1.6370611672429312E18], [1.63706107263277082E18]]; const toISOStringWithTimezone = date => { const pad = n => `${Math.floor(Math.abs(n))}`.padStart(2, '0'); return date.getFullYear() + '-' + pad(date.getMonth() + 1) + '-' + pad(date.getDate()) + ' ' + pad(date.getHours()) + ':' + pad(date.getMinutes()) + ':' + pad(date.getSeconds()) }; const hasArrDate = (data = []) => { return data.flat().map(v => toISOStringWithTimezone(new Date(v / 1000000))) } console.log(hasArrDate(timestamps));const timestamps = [[1.6370611672429312E18], [1.63706107263277082E18]]; let convertedDates = []; // Create an array to store the converted dates for (let i = 0; i < timestamps.length; i++) { const timestamp = new Date(timestamps[i][0] / 1000000); const convertedDate = Utilities.formatDate(timestamp, "GMT", "MM-dd-yyyy HH:mm:ss"); convertedDates.push([convertedDate]); // Wrap each in [] because this will be printed as a single column } const sheet = SpreadsheetApp.openById(SPREADSHEET_ID).getSheetByName(SHEET_NAME); sheet.getRange(1, 1, convertedDates.length, convertedDates[0].length).setValues(convertedDates);