Funciones de fecha y hora
Las funciones de fecha y hora se utilizan para realizar operaciones de fecha y hora en valores dentro de Profile Query Language (PQL). Encontrará más información sobre otras funciones de PQL en la Profile Query Language descripción general.
Mes actual
La función currentMonth
devuelve el mes actual en forma de entero.
Formato
currentMonth()
Ejemplo
La siguiente consulta de PQL comprueba si el mes de nacimiento de la persona es el mes actual.
person.birthMonth = currentMonth()
Obtener mes
La función getMonth
devuelve el mes como un entero, basándose en una marca de tiempo determinada.
Formato
{TIMESTAMP}.getMonth()
Ejemplo
La siguiente consulta de PQL comprueba si el mes de nacimiento de la persona es junio.
person.birthdate.getMonth() = 6
Año actual
La función currentYear
devuelve el año actual como un entero.
Formato
currentYear()
Ejemplo
La siguiente consulta de PQL comprueba si el producto se vendió en el año actual.
product.saleYear = currentYear()
Obtener año
La función getYear
devuelve el año en forma de entero, basándose en una marca de tiempo determinada.
Formato
{TIMESTAMP}.getYear()
Ejemplo
La siguiente consulta de PQL comprueba si el año de nacimiento de la persona cae en 1991, 1992, 1993, 1994 o 1995.
person.birthday.getYear() in [1991, 1992, 1993, 1994, 1995]
Día actual del mes
La función currentDayOfMonth
devuelve el día actual del mes como un entero.
Formato
currentDayOfMonth()
Ejemplo
La siguiente consulta de PQL comprueba si el día de nacimiento de la persona coincide con el día actual del mes.
person.birthDay = currentDayOfMonth()
Obtener día del mes
La función getDayOfMonth
devuelve el día, como un entero, en función de una marca de tiempo determinada.
Formato
{TIMESTAMP}.getDayOfMonth()
Ejemplo
La siguiente consulta de PQL comprueba si el artículo se vendió en los primeros 15 días del mes.
product.sale.getDayOfMonth() <= 15
Ocurre
La función occurs
compara la función de marca de tiempo dada con un período de tiempo fijo como booleano.
Formato
La función occurs
se puede escribir con cualquiera de los siguientes formatos:
{TIMESTAMP} occurs {COMPARISON} {INTEGER} {TIME_UNIT} {DIRECTION} {TIME}
{TIMESTAMP} occurs {DIRECTION} {TIME}
{TIMESTAMP} occurs (on) {TIME}
{TIMESTAMP} occurs between {TIME} and {TIME}
{COMPARISON}
>
, >=
, <
, <=
, =
, !=
. Encontrará más información sobre las funciones de comparación en el documento de funciones de comparación.{INTEGER}
{TIME_UNIT}
millisecond(s)
, second(s)
, minute(s)
, hour(s)
, day(s)
, week(s)
, month(s)
, year(s)
, decade(s)
, century
, centuries
, millennium
, millennia
.{DIRECTION}
before
, after
, from
.{TIME}
today
, now
, yesterday
, tomorrow
), una unidad de tiempo relativa (una de this
, last
o next
seguida de una unidad de tiempo) o un atributo de marca de tiempo.on
es opcional. Está ahí para mejorar la legibilidad de algunas combinaciones, como timestamp occurs on date(2019,12,31)
.Ejemplo
La siguiente consulta de PQL comprueba si el artículo se vendió la semana pasada.
product.saleDate occurs last week
La siguiente consulta de PQL comprueba si un artículo se vendió entre el 8 de enero de 2015 y el 1 de julio de 2017.
product.saleDate occurs between date(2015, 1, 8) and date(2017, 7, 1)
Ahora
now
es una palabra reservada que representa la marca de tiempo de la ejecución de PQL.
Ejemplo
La siguiente consulta de PQL comprueba si un artículo se vendió exactamente tres horas antes.
product.saleDate occurs = 3 hours before now
Hoy
today
es una palabra reservada que representa la marca de tiempo del inicio del día de la ejecución de PQL.
Ejemplo
La siguiente consulta de PQL comprueba si una persona cumplía años hace tres días.
person.birthday occurs = 3 days before today
Pasos siguientes
Ahora que ha aprendido acerca de las funciones de fecha y hora, puede utilizarlas en sus consultas de PQL. Para obtener más información acerca de otras funciones de PQL, lea la descripción general de Profile Query Language.