Funciones de fecha y hora
Las funciones de fecha y hora se utilizan para realizar operaciones de fecha y hora en los valores dentro de Profile Query Language (PQL). Puede encontrar más información sobre otras funciones PQL en la Profile Query Language descripción general.
Mes actual
El currentMonth
La función devuelve el mes actual en forma de entero.
Formato
currentMonth()
Ejemplo
La siguiente consulta PQL comprueba si el mes de nacimiento de la persona es el mes actual.
person.birthMonth = currentMonth()
Obtener mes
El getMonth
función devuelve el mes como un entero, en función de una marca de tiempo determinada.
Formato
{TIMESTAMP}.getMonth()
Ejemplo
La siguiente consulta PQL comprueba si el mes de nacimiento de la persona es junio.
person.birthdate.getMonth() = 6
Año actual
El currentYear
La función devuelve el año actual como un entero.
Formato
currentYear()
Ejemplo
La siguiente consulta PQL comprueba si el producto se vendió en el año actual.
product.saleYear = currentYear()
Obtener año
El getYear
función devuelve el año, como un entero, en función de una marca de tiempo determinada.
Formato
{TIMESTAMP}.getYear()
Ejemplo
La siguiente consulta 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
El currentDayOfMonth
La función devuelve el día actual del mes en forma de entero.
Formato
currentDayOfMonth()
Ejemplo
La siguiente consulta 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
El getDayOfMonth
función devuelve el día, como un entero, en función de una marca de tiempo determinada.
Formato
{TIMESTAMP}.getDayOfMonth()
Ejemplo
La siguiente consulta PQL comprueba si el artículo se vendió en los primeros 15 días del mes.
product.sale.getDayOfMonth() <= 15
Ocurre
El occurs
compara la función de marca de tiempo dada con un período de tiempo fijo.
Formato
El occurs
se puede escribir utilizando 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 la 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
seguido 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 PQL comprueba si el artículo se vendió la semana pasada.
product.saleDate occurs last week
La siguiente consulta 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 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 PQL comprueba si el cumpleaños de una persona fue 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 PQL. Para obtener más información sobre otras funciones PQL, lea la Introducción al lenguaje de consulta de perfil.