Estoy usando Google Apps Script haciendo una solicitud de API para obtener una fecha. La fecha, sin embargo, regresa como un número en notación científica (1.635218706E9) que asumo tiene el formato de milisegundos de 1970. Después de convertirlo de notación científica a un número regular (1635218706) se crea una nueva fecha de javascript con ella la fecha y el año equivocados. Debería ser el 25 de octubre de 2021, pero en su lugar da el 31 de diciembre de 1969.
¿Me estoy perdiendo algo al crear una nueva fecha a partir del número? ¿Y hay alguna manera de que la API responda con una fecha más legible en lugar de milisegundos desde 1970?
Por si acaso. Descubrí que si multiplica este número por 1000 y lo envía al objeto de datos, puede obtener algo un poco más razonable:
var seconds = 1.635218706E9; var date = new Date(seconds*1000); console.log(date); // output: 2021-10-26T03:25:06.000Z var date_str = [date.getFullYear(), date.getMonth()+1, date.getDate()].join('/') console.log(date_str); // output: 2021/10/26Parece que la API te da segundos.
puede usar toLocaleString / toLocaleDateString
entonces el codigo es asi
const dates = new Date() const fullDates = dates.toLocaleString('en-US')puede leer en la documentación aquí: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleString