Agregar funciones de fecha dentro de las plantillas de email utilizando usando VTL
En este artículo, te explicamos cómo utilizar las funciones de fecha dentro de las plantillas de email utilizando VTL (Velocity Template Language) en DANAconnect. Las funciones de fecha te permiten manipular, calcular y formatear fechas dinámicamente, basadas en las variables de la lista de contactos, como $s{fechaInicioPromocion} o $s{fechaVencimiento}.
Las funciones de fecha en VTL te permiten realizar operaciones sobre fechas extraídas directamente de la base de datos de DANAconnect. Puedes utilizarlas para:
- Formatear fechas desde la base de datos de contactos.
- Sumar o restar días, meses o años a las fechas guardadas.
- Comparar fechas de la base de datos o crear fechas relativas.
Es posible que necesites formatear una fecha de la base de datos para que aparezca de manera más legible. Puedes hacerlo con el método DateTool.format().
Ejemplo:
Resultado:
Si deseas trabajar con la fecha actual, puedes hacerlo utilizando $dateTool.get() sin ningún parámetro adicional.
Ejemplo:
Resultado:
Puedes sumar días a una fecha de la base de datos de contactos, como $s{fechaVencimiento}, utilizando addToDate().
Ejemplo:
Si deseas sumar 7 días a la fecha de vencimiento:
Resultado:
Para restar días, puedes usar subtractFromDate() con una variable de la base de datos como $s{fechaInicioPromocion}.
Ejemplo:
Resultado:
Puedes comparar dos fechas de la base de datos, por ejemplo, $s{fechaVencimiento} y la fecha actual, para definir acciones basadas en si una fecha ha pasado.
Ejemplo:
Resultado:
Puedes generar fechas relativas, como calcular el día de mañana a partir de la fecha actual.
Ejemplo:
Resultado:
Resultado:
Resultado:
Las funciones de fecha en VTL te permiten manipular y formatear fechas según las necesidades de cada proceso. Al utilizar las variables de la base de datos de DANAconnect, como $s{fechaVencimiento} o $s{fechaInicioPromocion}, puedes personalizar mensajes dinámicos de manera automatizada, basados en datos clave de tu lista de contactos.
Estas herramientas son especialmente útiles para comunicar plazos de vencimiento, recordatorios y fechas de inicio o finalización de promociones, ajustadas a cada usuario en tiempo real.
¿Qué son las Funciones de Fecha?
Las funciones de fecha en VTL te permiten realizar operaciones sobre fechas extraídas directamente de la base de datos de DANAconnect. Puedes utilizarlas para:
- Formatear fechas desde la base de datos de contactos.
- Sumar o restar días, meses o años a las fechas guardadas.
- Comparar fechas de la base de datos o crear fechas relativas.
Casos de Uso Comunes
1. Formatear Fechas
Es posible que necesites formatear una fecha de la base de datos para que aparezca de manera más legible. Puedes hacerlo con el método DateTool.format().
Ejemplo:
#set( $fechaFormateada = $dateTool.format("dd 'de' MMMM 'de' yyyy", $s{fechaInicioPromocion}) )
Fecha de inicio de la promoción: $fechaFormateada
Resultado:
Fecha de inicio de la promoción: 25 de enero de 2024
2. Obtener la Fecha Actual
Si deseas trabajar con la fecha actual, puedes hacerlo utilizando $dateTool.get() sin ningún parámetro adicional.
Ejemplo:
La fecha de hoy es: $dateTool.get("yyyy-MM-dd")
Resultado:
La fecha de hoy es: 2024-01-25
3. Sumar o Restar Días a una Fecha
Puedes sumar días a una fecha de la base de datos de contactos, como $s{fechaVencimiento}, utilizando addToDate().
Ejemplo:
Si deseas sumar 7 días a la fecha de vencimiento:
#set( $fechaFutura = $dateTool.addToDate($s{fechaVencimiento}, 7, "day") )
Nueva fecha de vencimiento: $dateTool.format("dd/MM/yyyy", $fechaFutura)
Resultado:
Nueva fecha de vencimiento: 01/02/2024
4. Restar Días de una Fecha
Para restar días, puedes usar subtractFromDate() con una variable de la base de datos como $s{fechaInicioPromocion}.
Ejemplo:
#set( $fechaPasada = $dateTool.subtractFromDate($s{fechaInicioPromocion}, 5, "day") )
Fecha de inicio modificada: $dateTool.format("dd/MM/yyyy", $fechaPasada)
Resultado:
Fecha de inicio modificada: 20/01/2024
5. Comparar Fechas
Puedes comparar dos fechas de la base de datos, por ejemplo, $s{fechaVencimiento} y la fecha actual, para definir acciones basadas en si una fecha ha pasado.
Ejemplo:
#if( $dateTool.isBefore($dateTool.get(), $s{fechaVencimiento}) )
La fecha de vencimiento aún no ha pasado.
#else
La fecha de vencimiento ya ha pasado.
#end
Resultado:
La fecha de vencimiento aún no ha pasado.
6. Fecha Relativa (Hoy, Mañana, Próxima Semana)
Puedes generar fechas relativas, como calcular el día de mañana a partir de la fecha actual.
Ejemplo:
Fecha de hoy: $dateTool.get("dd/MM/yyyy")
Mañana será: $dateTool.addToDate($dateTool.get(), 1, "day")
Resultado:
Fecha de hoy: 25/01/2024
Mañana será: 26/01/2024
Ejemplos Prácticos
Recordatorio de Pago Próximo
Recuerda que tu pago vence el: $dateTool.format("dd 'de' MMMM 'de' yyyy", $s{fechaVencimiento})
Resultado:
Recuerda que tu pago vence el: 01 de febrero de 2024
Crear Fechas Dinámicas para Plazos de Promociones
#set( $fechaFinPromocion = $dateTool.addToDate($s{fechaInicioPromocion}, 10, "day") )
Promoción válida hasta: $dateTool.format("dd/MM/yyyy", $fechaFinPromocion)
Resultado:
Promoción válida hasta: 04/02/2024
Conclusión
Las funciones de fecha en VTL te permiten manipular y formatear fechas según las necesidades de cada proceso. Al utilizar las variables de la base de datos de DANAconnect, como $s{fechaVencimiento} o $s{fechaInicioPromocion}, puedes personalizar mensajes dinámicos de manera automatizada, basados en datos clave de tu lista de contactos.
Estas herramientas son especialmente útiles para comunicar plazos de vencimiento, recordatorios y fechas de inicio o finalización de promociones, ajustadas a cada usuario en tiempo real.
Actualizado el: 21/10/2024
¡Gracias!