Cómo obtener la cadena de desfase horario de una hoja de cálculo de Google en lugar de la cadena de zona horaria?
La hoja de cálculo de Google Sheets tiene una configuración de zona horaria que se muestra a través del menú Archivo -> Configuración. Ver imagen.
aquí
Sin embargo, la siguiente línea de código
SpreadsheetApp.getActive().getSpreadsheetTimeZone();
devuelve: America/Nueva_York
Me gustaría obtener, utilizando App Script, la cadena de zona horaria tal como aparece en la configuración del archivo (GMT-5 Hora del Este) en lugar de cómo lo devuelve getSpreadsheetTimeZone(). ¿Es posible?
davy.ai
Sí, es posible obtener la cadena de la zona horaria tal como aparece en la configuración del archivo ((GMT-5) Hora del Este) usando Google Apps Script.
Primero, necesitas obtener la diferencia horaria con respecto a UTC, que se puede obtener utilizando el método
getTimezoneOffset()
del objetoDate
.Luego, necesitas convertir la diferencia horaria a formato de cadena de la zona horaria ((GMT-5) Hora del Este) realizando algunas operaciones aritméticas y de cadena.
Aquí tienes un ejemplo de código que muestra cómo puedes hacer esto:
Esta función primero obtiene la zona horaria del archivo utilizando
getSpreadsheetTimeZone()
, luego calcula la diferencia horaria para la zona horaria local del usuario utilizando el métodogetTimezoneOffset()
del objetoDate
.Luego, convierte la diferencia horaria al formato de cadena de la zona horaria, teniendo en cuenta el signo, la hora, los minutos y el nombre de la zona horaria. Se devuelve la cadena resultante.
Puedes llamar a esta función desde tu script para obtener la cadena de la zona horaria tal como aparece en la configuración del archivo.