Cuando intento obtener la hora de creación de un archivo en Google Drive con la función incorporada getDateCreated() en el script de la aplicación, devuelve la hora una hora después de la creación. mi codigo es el siguiente
var folder = DriveApp.getFolderById(myFolderId); var contents = folder.getFiles(); var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var var_file; var var_name; var var_link; var var_owner; var var_time; while(contents.hasNext()){ var_file = contents.next(); var_name = var_file.getName(); var_link = var_file.getUrl(); var_owner = var_file.getOwner().getName(); var_time = var_file.getDateCreated(); sheet.appendRow([var_name,var_link,var_owner, var_time]); }
Si la hora de creación de un archivo es el 25/06/2022 22:48:39, la salida de mi código devuelve el 25/06/2022 23:48:39, lo cual es un error. Nota: Mi zona horaria es UTC-5
Investigué un poco sobre diferentes métodos integrados en Javascript y .toLocaleTimeString()
parece funcionar bien devolviendo la hora real en que se creó el archivo.
var_time = var_file.getDateCreated().toLocaleTimeString();
También es muy importante verificar el archivo appsscript.json al que se puede acceder yendo a Configuración del proyecto y activando la opción Mostrar el archivo appsscripts.json
La única razón podría ser la configuración de la zona horaria de su archivo de script. Puede consultar bi yendo a Archivo> Propiedades del proyecto en el editor de secuencias de comandos.
Documentos para desarrolladores de Google
También puede revisar esta configuración ejecutando esto:
var timeZone = Session.getScriptTimeZone(); Logger.log(timeZone);