La expresión HOUR()
en AppSheet se utiliza para obtener la hora específica (en formato numérico) desde un valor de tipo Time o DateTime. Es útil cuando necesitas trabajar con horarios dentro de tu app, ya sea para mostrar datos más claros, aplicar condiciones basadas en la hora, o generar reportes más detallados.
¿Cómo se utiliza normalmente la expresión HOUR() en AppSheet?
Cuando trabajamos con columnas de tipo Time en AppSheet, la forma más común y efectiva de obtener la hora numérica es usando esta expresión:
HOUR([Hora] - "00:00:00")
Esto se debe a que AppSheet representa el tiempo como una fracción del día (por eso no puedes simplemente usar HOUR([Hora])
directamente). Al restar "00:00:00"
, se convierte el valor en una cantidad de horas numéricas desde la medianoche, que HOUR()
puede interpretar correctamente.
🧪 Ejemplo:
Si [Hora]
contiene 15:30:00
, la expresión:
HOUR([Hora] - "00:00:00")
te devolverá:
15
Esto indica que son las 3 de la tarde en formato de 24 horas.
Agregar texto personalizado a la hora con CONCATENATE() en AppSheet
Una vez que ya tienes la hora en formato numérico con HOUR([Hora] - "00:00:00")
, puedes personalizar el resultado añadiendo una letra o palabra que indique claramente que se trata de una hora. Para eso, usamos la expresión CONCATENATE()
.
📌 Sintaxis:
CONCATENATE(HOUR([Hora] - "00:00:00"), "h")
Esta expresión une el número resultante con la letra "h"
al final, generando un texto más comprensible para los usuarios.
🧪 Ejemplo:
Si [Hora]
contiene 15:30:00
, la expresión devolverá:
15h
Mostrar la Hora con Formato AM/PM en AppSheet
Además de obtener la hora en formato numérico usando la expresión HOUR()
, muchas veces queremos mostrarla en un formato más amigable para el usuario, como por ejemplo:
9 AM
15 PM
Esto lo logramos combinando varias funciones de AppSheet. Aquí te mostramos cómo hacerlo y cómo funciona cada parte.
Expresión utilizada:
CONCATENATE(HOUR([Hora] - "00:00:00"), " ", IF(HOUR([Hora] - "00:00:00") < 12, "AM", "PM"))
¿Cómo funciona esta expresión?
✅ HOUR([Hora] - "00:00:00")
- Esta parte extrae la hora (como número) desde una columna de tipo
Time
, restando"00:00:00"
para obtener correctamente solo el valor numérico de la hora. - Por ejemplo, si la hora es
15:00:00
, el resultado será15
.
✅ IF(HOUR(...) < 12, "AM", "PM")
- Esta parte evalúa si la hora es menor a 12.
- Si lo es, retorna
"AM"
; si no, retorna"PM"
. - Así distinguimos entre mañana y tarde/noche.
✅ CONCATENATE(...)
- Une todo en un solo texto legible: la hora, un espacio, y el indicador AM o PM.
- Por ejemplo:
9 AM
,15 PM
(aunque recuerda, para convertir 15 a 3 PM tendrías que hacer un ajuste adicional si quieres formato de 12 horas).
Ejemplo práctico:
Si [Hora]
tiene el valor 08:45:00
, la expresión:
CONCATENATE(HOUR([Hora] - "00:00:00"), " ", IF(HOUR([Hora] - "00:00:00") < 12, "AM", "PM"))
Devolverá:
8 AM
Si el valor fuera 18:00:00
, el resultado sería:
18 PM
🎥 Aprende esto y mucho más en mi canal de YouTube
Todo lo que te he explicado aquí lo muestro paso a paso en mi canal de YouTube, con ejemplos prácticos y visuales para que lo entiendas fácilmente. Aquí te dejo el video:
Este video es parte de un curso completo sobre expresiones en AppSheet, donde te enseño todas las funciones más utilizadas y cómo combinarlas para crear apps realmente potentes.
🧠 Al final del curso podrás rendir un examen de conocimiento y, si lo apruebas, recibirás un certificado que avala tu dominio en Expresiones en AppSheet. Perfecto para mejorar tu perfil profesional o mostrar tus habilidades como desarrollador de aplicaciones sin código.
📥 Base de Datos para Practicar
Haz clic en el siguiente enlace para acceder a la hoja de cálculo (base de datos) que utilizamos en este curso. Recuerda que debes hacer una copia en tu propio Google Drive para poder editarla y conectarla a tu app en AppSheet.
➡️ Haz clic aquí para abrir la base de datos
(Sigue el ejemplo que ves en la imagen de abajo para hacer tu copia correctamente)