Script de la aplicación para convertir la fecha de la API a una fecha específica: function convertirFecha(fechaAPI) { var fecha = new Date(fechaAPI); // Convirtiendo la fecha de la API en un objeto de tipo Date var dia = fecha.getDate(); // Obteniendo el día de la fecha var mes = fecha.getMonth() + 1; // Obteniendo el mes de la fecha (+1 porque los meses empiezan en 0) var anio = fecha.getFullYear(); // Obteniendo el año de la fecha return dia + “/” + mes + “/” + anio; // Devolviendo la fecha en el formato específico deseado (dd/mm/yyyy) } // Ejemplo de uso var fechaAPI = “2022-01-01”; // Fecha de la API en formato “yyyy-mm-dd” var fechaConvertida = convertirFecha(fechaAPI); console.log(fechaConvertida); // Imprime “01/01/2022”
Tengo un valor de retorno de datos de API como este: 2022-01-07T12:03:58.273Z
. Quiero cambiar esta fecha a 2022-01-07 12:03:58
.
Mi código para convertir no funciona, este es mi código:
const txt = result.getContentText()
const d = JSON.parse(txt)
const time = d.status.timestamp;
Logger.log(time)
// obtener la zona horaria
var timeZone = Session.getScriptTimeZone();
// convertir la fecha a otro formato
var formattedDate = Utilities.formatDate(time, timeZone, "yyyy-MM-dd HH:mm");
Logger.log(formattedDate)
El resultado es:
Registro de ejecución
1:07:42 PM Notice La ejecución comenzó
1:07:43 PM Info 2022-01-07T12:07:43.172Z
1:07:44 PM Error
Excepción: Los parámetros (String,String,String) no coinciden con la firma del método Utilities.formatDate.
coData @ Untitled.gs:27
davy.ai
El problema con el código es que el formato de fecha devuelto por la API (
2022-01-07T12:03:58.273Z
) está en formato ISO 8601, el cual no es directamente compatible con el métodoUtilities.formatDate()
. Para convertirlo al formato deseado (2022-01-07 12:03:58
), es necesario analizar la cadena de fecha ISO 8601 en un objeto de fecha de JavaScript y luego formatearla utilizando el métodoUtilities.formatDate()
.Aquí tienes un fragmento de código actualizado que debería funcionar:
En el código actualizado, primero creamos un nuevo objeto
Date
a partir de la cadena de fecha ISO 8601. Esto nos permitirá usar el métodoUtilities.formatDate()
. Luego formateamos la fecha utilizando el formato deseado (yyyy-MM-dd HH:mm:ss
). Esto debería darnos el resultado deseado (2022-01-07 12:03:58
).