Funciones de fecha y hora
Las funciones de fecha y hora permiten interpretar texto, presentar fechas y calcular valores nuevos. La primera distinción es el tipo de resultado: formatDate devuelve texto; parseDate devuelve una fecha. Las funciones de suma y ajuste que se describen después también devuelven fechas.
Esta referencia se basa en la documentación oficial de Make, consultada el 26 de septiembre de 2026. Los ejemplos siguientes fijan la zona UTC cuando hace falta evitar ambigüedades.
formatDate(date; format; [timezone])
Convierte una fecha en una representación textual.
| Parámetro | Tipo | Uso |
|---|---|---|
date |
Fecha | Valor que quieres presentar |
format |
Texto | Patrón de salida, por ejemplo DD.MM.YYYY HH:mm |
timezone |
Texto, opcional | Zona horaria utilizada para presentar la fecha |
Si omites la zona, Make utiliza la de la organización. Consulta los ajustes de zona horaria y los tokens de formato.
Ejemplo de una misma fecha expresada como texto:
formatDate(parseDate("2026-05-14 09:30"; "YYYY-MM-DD HH:mm"; "UTC"); "DD/MM/YYYY HH:mm"; "UTC")
→ 14/05/2026 09:30
Distingue HH, para horas en formato de 24 horas, de hh, usado en el formato de 12 horas con un indicador como A.
parseDate(text; format; [timezone])
Interpreta una cadena según un patrón y devuelve un valor de tipo fecha, no una cadena ya formateada.
| Parámetro | Tipo | Uso |
|---|---|---|
text |
Texto | Cadena que contiene la fecha |
format |
Texto | Patrón que describe esa cadena |
timezone |
Texto, opcional | Zona en la que debe interpretarse el valor |
Si omites timezone, Make utiliza la zona de la organización. Cuando una fecha aparece representada en ISO 8601 en un ejemplo, esa representación no cambia el tipo del valor devuelto.
parseDate("2016-12-28 16:03"; "YYYY-MM-DD HH:mm"; "UTC")
→ fecha equivalente a 2016-12-28T16:03:00.000Z
parseDate("2016-12-28 04:03 pm"; "YYYY-MM-DD hh:mm a"; "UTC")
→ fecha equivalente a 2016-12-28T16:03:00.000Z
El patrón debe corresponder al texto real. No añadas segundos al resultado de un ejemplo si la entrada no los proporciona.
Sumar o restar tiempo
Estas funciones reciben una fecha y un número. Un número negativo resta la unidad correspondiente.
| Función | Unidad |
|---|---|
addSeconds(date; number) |
Segundos |
addMinutes(date; number) |
Minutos |
addHours(date; number) |
Horas |
addDays(date; number) |
Días |
addMonths(date; number) |
Meses |
addYears(date; number) |
Años |
Ejemplos conceptuales con una fecha base interpretada en UTC:
| Operación | Resultado esperado del ejemplo |
|---|---|
| Añadir 7 segundos a las 15:55:00 | 15:55:07 |
| Restar 1 minuto a las 15:55 | 15:54 |
| Añadir 2 horas a las 15:55 | 17:55 |
| Añadir 5 días al 5 de diciembre de 2016 | 10 de diciembre de 2016 |
| Añadir 1 mes al 31 de enero de 2016 | 29 de febrero de 2016 |
| Añadir 2 años al 5 de diciembre de 2016 | 5 de diciembre de 2018 |
El ejemplo de addMonths muestra que sumar un mes no significa sumar una cantidad fija de días.
Sustituir una parte de la fecha
A diferencia de las funciones add…, las funciones set… fijan un componente. El resultado sigue siendo de tipo fecha.
setSecond(date; number)
Establece los segundos. Los valores de 0 a 59 pertenecen al minuto actual; los valores fuera de ese intervalo desplazan el resultado a otro minuto.
| Fecha base | Valor | Resultado |
|---|---|---|
| 15:55:00 | 45 | 15:55:45 |
| 15:55:00 | -1 | 15:54:59 |
| 15:55:00 | 121 | 15:57:01 |
setMinute(date; number)
Establece los minutos. El intervalo habitual es de 0 a 59; un valor fuera de él cambia también la hora.
| Fecha base | Valor | Resultado |
|---|---|---|
| 15:55 | 15 | 15:15 |
| 15:55 | -1 | 14:59 |
| 15:55 | 121 | 17:01 |
setHour(date; number)
Establece la hora. Los valores de 0 a 23 pertenecen al día actual; los valores fuera de ese intervalo desplazan el día.
| Fecha base | Valor | Resultado |
|---|---|---|
| 5 de diciembre, 15:55 | 6 | 5 de diciembre, 06:55 |
| 5 de diciembre, 15:55 | -1 | 4 de diciembre, 23:55 |
setDay(date; number/name of the day in English)
Establece el día de la semana. Make utiliza 1 para lunes y 7 para domingo. También admite el nombre del día en inglés, como sunday o wednesday; no traduzcas esos valores dentro de una expresión.
Sobre el miércoles 16 de junio de 2021:
| Valor | Resultado del ejemplo |
|---|---|
1 |
Lunes 14 de junio |
sunday |
Domingo 20 de junio |
wednesday |
Miércoles 16 de junio |
setDate(date; number)
Establece el día del mes, no el día de la semana.
Sobre el 5 de diciembre de 2016:
| Valor | Resultado del ejemplo |
|---|---|
5 |
5 de diciembre de 2016 |
32 |
1 de enero de 2017 |
setMonth(date; number/name of the month in English)
Establece el mes. Enero es 1 y diciembre es 12. También se pueden usar nombres en inglés, como august; los nombres de meses dentro de la función no se traducen al español.
Los valores fuera de 1–12 desplazan el año. Sobre el 5 de diciembre de 2016, establecer el mes en 2 da el 5 de febrero de 2016, y usar 13 da el 5 de enero de 2017.
setYear(date; number)
Establece el año. Por ejemplo, sobre el 5 de diciembre de 2016 a las 15:55, usar 2017 produce el 5 de diciembre de 2017 a las 15:55.
Días transcurridos entre dos fechas
La documentación propone restar las fechas y dividir por los milisegundos de un día:
(finish - start) / (1000 * 60 * 60 * 24)
Con dos valores en UTC separados por exactamente tres días, el resultado es 3.
Para expresar los días completos y las horas restantes del ejemplo oficial:
floor((finish - start) / (1000 * 60 * 60 * 24))
((finish - start) / (1000 * 60 * 60)) % 24
La primera expresión calcula días completos y la segunda el resto de horas. La guía oficial ilustra una diferencia de dos días y siete horas.
Recomendación editorial: aclara si necesitas duración transcurrida o diferencia entre fechas del calendario. No presupongas que cualquier intervalo que atraviesa un cambio horario equivale a un número entero de bloques de 24 horas.
Comprobar si una fecha está dentro de un intervalo
La guía utiliza una combinación de if con comparaciones para devolver true cuando la fecha está después del inicio y antes del final:
if(date > start; if(date < end; true; false); false)
Esas comparaciones excluyen los extremos. Decide expresamente si el inicio y el final deben incluirse antes de adaptar la condición a tu caso.
Revisión antes de usar una expresión
- Comprueba si cada entrada es texto o fecha.
- Haz coincidir el patrón con el formato de entrada, no con el que quieres mostrar.
- Fija la zona horaria cuando sea relevante para el resultado.
- No traduzcas nombres de funciones, tokens ni nombres de días o meses usados como argumentos.
- Prueba fines de mes y límites de intervalo con ejemplos representativos.
Los resultados mostrados son explicaciones de las operaciones documentadas, no un registro de ejecuciones realizadas en una cuenta de Make.