Funciones de fecha y hora de flujo de trabajo
Las funciones de fecha y hora te permiten realizar una acción o cálculo en un valor de fecha y hora. Utiliza una función de fecha y hora para agregar o restar intervalos, buscar la fecha actual, buscar el primer o último día del mes, extraer un componente de un valor de fecha y hora o convertir un valor a un formato diferente.
Fechas admitidas
Live Query no puede procesar fechas anteriores al 1 de enero de 1400.
Live Query utiliza el formato ISO yyyy-mm-dd HH:MM:SS para representar fechas y horas. Si un valor de fecha y hora no está en este formato, Live Query lo lee como una cadena. Para convertir una columna para uso y manipulación en el formato de fecha y hora, utiliza la función DateTimeParse en el editor de expresiones o en la herramienta Fecha y hora.
Algunas funciones de fecha y hora requieren que establezcas el formato de la fecha. Las cadenas de formato constan de especificadores y separadores.
Especificadores
Los especificadores siempre comienzan con un signo de porcentaje (%), seguido por una letra que distingue mayúsculas y minúsculas. Los datos deben incluir al menos un año de dos dígitos.
Especificador | Salida de DateTimeFormat | Entrada compatible con DateTimeParse |
|---|---|---|
%a | Nombre del día de la semana abreviado (“dom”) | Cualquier abreviatura válida de un día de la semana (“dom”, “Mar.”, “Jue”). Devuelve un error solo si el texto dado no es un día de la semana. Ten en cuenta que Live Query no comprueba si el nombre de día especificado sea válido para la fecha determinada. |
%A | Nombre completo del día de la semana (“domingo”) | Nombre del día o cualquier abreviatura válida de un día de la semana (“dom”, “Mar.”, “Jue”). Devuelve un error solo si el texto dado no es un día de la semana. Ten en cuenta que Live Query no comprueba si el nombre de día especificado sea válido para la fecha determinada. |
%b | Nombre del mes abreviado (“sep”) | Cualquier abreviatura válida de un nombre de mes (“sep”, “SEPT.”). Devuelve un error solo si el texto dado no es el nombre de un mes. |
%B | Nombre del mes completo (“septiembre”) | Nombre del mes o cualquier abreviatura válida del nombre del mes (“sep”, “SEPT.”). Devuelve un error solo si el texto dado no es el nombre de un mes. |
%c | Fecha y hora de la región de la computadora. | No compatible |
%C | El número del siglo (“20”) | No compatible |
%d | Día del mes (“01”) | 1 o 2 dígitos, ignorando espacios (“1” o “01”). |
%D | Equivalente a %m/%d/%y | No compatible |
%e | Día del mes, con el 0 en el comienzo reemplazado por un espacio (“ 1”). | 1 o 2 dígitos, ignorando espacios (“1” o “01”). |
%h | Igual que %b (“sep”) | Cualquier abreviatura válida de un nombre de mes (“sep”, “SEPT.”). Devuelve un error solo si el texto dado no es el nombre de un mes. |
%H | Hora de reloj de 24 horas, de 00 a 23. | Hasta 2 dígitos para la hora, de 0 a 23. No compatible con %p ni %P. |
("i" mayúscula) | Hora de reloj de 12 horas, de 01 a 12. | Hasta 2 dígitos para la hora, de 1 a 12. Debe seguir con %p o %P. |
%j | El día del año, de 001 a 365 (o 366 en años bisiestos) | Día del año de 3 dígitos, de 001 a 365 (o 366 en años bisiestos) |
%k | 24 horas, con el cero en el comienzo como espacio, de “ 0” a “23”. | Hasta 2 dígitos para la hora. |
("L" minúscula) | 12 horas, con el cero en el comienzo como espacio, de “ 1” a “12”. | No compatible |
%M | Minutos, 00 a 59 | Hasta 2 dígitos para los minutos. |
%m | Número de mes, de 01 a 12. | Número de mes con 1 o 2 dígitos, de 1 o 01 a 12. |
%p | "AM" o "PM" | No distingue mayúsculas y minúsculas ("aM" o "Pm"). Debe seguir %I (“i” mayúscula, hora en formato de 12 horas). |
%P | "am" o "pm" | No distingue mayúsculas y minúsculas ("aM" o "Pm"). Debe seguir %I (“i” mayúscula, hora en formato de 12 horas). |
%S | Segundos, 00 a 59 | Hasta 2 dígitos para los segundos. |
%T | Hora en notación de 24 horas. Equivalente a %H:%M:%S | No compatible |
%u | Día de la semana como decimal, de 1 a 7, con el lunes siendo 1. | No compatible |
%U | Esto devuelve el número de semana, como 00 – 53, con el comienzo de las semanas siendo domingo. | No compatible |
%w | Día de la semana como número, de 0 a 6, con el domingo siendo 0. | No compatible |
%W | Esto devuelve el número de semana, como 00 – 53, con el comienzo de las semanas siendo lunes. | No compatible |
%x | La fecha para la región de la computadora. | No compatible |
%X | La hora de reloj de 12 horas, lo que incluye AM o PM (“11:51:02 AM”). | Horas: minutos: segundos [AM/PM] |
%y | Últimos dos dígitos del año (“16”). | Se leen hasta 4 dígitos, parando en un separador o al final de la cadena y mapeados en un rango entre el año actual menos 66 al año actual más 33. Por ejemplo, para 2016, es de 1950 a 2049. Limitación con fechas de seis dígitos Dado que se leen hasta cuatro dígitos para el año, los formatos que están destinados a tener solo dos dígitos sin separador, como una fecha de seis dígitos (por ejemplo, %y%m%d para los datos como 170522 para el 22 de mayo de 2017), todavía se leen como cuatro dígitos. Como método alternativo, puedes…
|
%Y | Los cuatro dígitos del año (“2016”). | Se leen 2 o 4 dígitos. 2 dígitos se mapean a un rango del año actual menos 66 al año actual más 33. Por ejemplo, para 2016, es de 1950 a 2049. |
%z | Diferencia de horario UTC (“-600”). | No compatible |
%Z | Nombre completo de la zona horaria (“hora estándar de la montaña”). | No compatible |
Separadores
Los separadores se insertan entre especificadores de fecha y hora para formar una cadena de formato.
Separador | Salida de DateTimeFormat | Entrada compatible con DateTimeParse * |
|---|---|---|
/ | / | / o - |
- | - | / o - |
Espacio | Un espacio | Cualquier secuencia de caracteres de espacio en blanco. |
%n | Una línea nueva | No compatible |
%t | Una tabulación | No compatible |
Otros | Otros caracteres, como coma, punto y dos puntos. | Otros caracteres, como coma, punto y dos puntos. |
* DateTimeParse acepta barras diagonales (/) y guiones (-) de manera intercambiable. Sin embargo, las comas, los dos puntos y todos los demás separadores deben coincidir exactamente con los datos entrantes.
Parámetros de idioma
Estos son los valores compatibles para el parámetro “l” (language [idioma]) compatible con las funciones DateTimeFormat y DateTimeParse.
Nombre del idioma en inglés | Nombre del idioma en lengua nativa | Código del idioma |
|---|---|---|
Inglés | Inglés | en |
Italiano | Italiano | it |
Francés | Francés | fr |
Alemán | Alemán | de |
Japonés | Japonés | ja |
Español | Español | es |
Portugués | Portugués | pt |
Chino | 简体中文 | zh |
Además de los valores anteriores, también se aceptan valores con un mínimo de 2 caracteres de longitud que comiencen con cualquiera de los anteriores. Por ejemplo, “eng”, “engl”, “engli”, etc., para inglés o “esp”, “espa”, “sp”, “spa”, “span”, etc., para español.
DateTimeAdd
DateTimeAdd(dt,i,u): agrega un intervalo específico a un valor de fecha y hora.
Parámetros
dt: datos de fecha y hora, expresados como una columna seleccionada o un valor especificado de fecha y hora entre comillas.
i: entero positivo o negativo de tiempo para sumar o restar.
u: unidad de fecha y hora, especificada entre comillas: años, meses, días, horas, minutos o segundos.
Ejemplo
DateTimeAdd(DateTimeToday(), -1, "days") devuelve la fecha de ayer.
DateTimeAdd(DateTimeFirstOfMonth(), 1, "months") devuelve el primero del mes siguiente.
DateTimeAdd("2016-01-30", 1, "month") devuelve 2016-02-29 (porque febrero no tiene un 30, pero su último día ese año es el 29).
DateTimeAdd("2016-03-30", -1, "month") devuelve 2016-02-29 (porque febrero no tiene un 30, pero su último día ese año es el 29).
Leer más
Cualquier fracción de la duración es trucada. Por ejemplo, no puedes sumar "1.5 horas". En vez, suma "90 minutos".
Sumar una unidad no cambia el valor de unidades más pequeñas. Por ejemplo, agregar horas no cambia el valor de minutos o segundos. Sumar meses no cambia el día o la hora, a menos que el mes resultante no tenga tal día. En ese caso, va al último día de ese mes.
DateTimeDay
DateTimeDay(dt): devuelve el valor numérico correspondiente al día del mes en un valor fecha y hora.
Parámetros
dt: datos de fecha y hora, expresados como una columna seleccionada o un valor especificado de fecha y hora entre comillas.
Ejemplo
DateTimeDay("2017-03-24 11:43:23")devuelve 24.
DateTimeDiff
DateTimeDiff(dt1,dt2,u): resta el segundo argumento del primero y lo devuelve como diferencia en número entero. La duración se devuelve como un número, no una cadena, en las unidades de tiempo especificadas.
Parámetros
dt: datos de fecha y hora expresados como una columna seleccionada o un valor especificado de fecha y hora entre comillas.
u: unidad de fecha y hora, especificada entre comillas: años, meses, días, horas, minutos o segundos.
Ejemplo
DateTimeDiff("2016-02-15 00:00:00", "2016-01-15 00:00:01", "Months")devuelve 1 (porque el inicio y el final son el mismo día del mes).
DateTimeDiff("2012-02-29","2011-03-01","years")devuelve 0 (aunque 2012-02-29 es 365 días después de 2011-03-01, el 29 de febrero es antes del 1 de marzo, por lo que “un año” aún no se ha completado).
DateTimeDiff("2016-02-14", "2016-01-15", "Months")devuelve 0 (porque el día de febrero es menor que el día de enero).
DateTimeDiff("2016-02-14 23:59:59", "2016-01-15 00:00:00", "Months")devuelve 0 (aunque es solo un segundo menos del día requerido).
DateTimeDiff('2017-02-28', '2016-02-29', 'Months')devuelve 11 (aunque el 28 es el último día de febrero de 2017, el 28 es menor que el 29).
Leer más
Para las diferencias de mes y de año, un mes se cuenta solamente cuando el último día alcanza el primer día, ignorando la hora del día.
Para la exactitud del día, hora, minuto y segundo, el resultado se calcula con precisión y las partes fraccionarias se truncan, no se redondean. Por lo tanto…
DateTimeDiff(‘2016-01-01 00:59:59’, ‘2016-01-01 00:00:00’, ‘Hours’)es cero.DateTimeDiff(‘2016-01-01 23:59:59’, ‘2016-01-01 00:00:00’, ‘Days’)es cero.Los nombres de precisiones se pueden acortar a sus tres primeros caracteres en inglés (como “sec” y “min”); no distingue entre mayúsculas y minúsculas.
Ten cuidado al almacenar las diferencias de tiempo en segundos. Un Int32 solo puede tener una diferencia de 68 años en segundos o 4082 años en minutos. Puedes utilizar tipos Double o Int64 para mantener intervalos entre todas las fechas admitidas.
DateTimeFirstOfMonth
DateTimeFirstOfMonth(): devuelve el primer día del mes, a la medianoche.
DateTimeFormat
DateTimeFormat(dt,f,l): convierte datos de fecha y hora del formato ISO a otro formato especificado (f) y en un idioma especificado (l) para su uso por otra aplicación. Las salidas generadas son de tipo de dato de cadena.
Nota
This function isn't available for Live Query for Databricks.
Parámetros
dt: datos de fecha y hora, expresados como una columna seleccionada o un valor especificado de fecha y hora entre comillas.
f: formato al cual convertir los datos, expresados en una cadena de formato.
l: parámetro de idioma opcional. El parámetro de idioma se establece de forma predeterminada en el idioma de Designer Cloud seleccionado. Por ejemplo, si el idioma se establece en francés, la función lee DateTimeParse(dt,f,"Français") de forma predeterminada.
Ejemplos
DateTimeFormat([DateTime_Out],"%d-%m-%Y")devuelve 22-04-2008 para la fecha 22 de abril de 2008 (formato ISO: 2008-04-22).
DateTimeFormat([DateTime_Out],"%A","Spanish")devuelve “martes” para la fecha ISO 2020-07-14 (en la que el 14 de julio es un martes).
DateTimeHour
DateTimeHour(dt): devuelve la porción de horas en un valor fecha y hora.
Parámetros
dt: datos de fecha y hora expresados como una columna seleccionada o un valor especificado de fecha y hora entre comillas.
Ejemplo
DateTimeHour("2017-03-24 11:43:23")devuelve 11.
DateTimeHour("2017-03-24")devuelve 0, ya que la medianoche es la hora supuesta cuando no se especifica una hora con la fecha.
DateTimeLastOfMonth
DateTimeLastOfMonth(): devuelve el último día del mes actual, con el reloj configurado un segundo antes del final del día (23:59:59).
Live Query usa la fecha y hora en que se analiza la fórmula por primera vez. En un proceso por lotes, la misma fecha y hora se utilizan con cada nuevo conjunto de datos. Esto permite consistencia si el proceso tarda mucho tiempo.
DateTimeMinutes
DateTimeMinutes(dt): devuelve la porción de los minutos de la hora en un valor fecha y hora.
Parámetros
dt: datos de fecha y hora, expresados como una columna seleccionada o un valor especificado de fecha y hora entre comillas.
Ejemplo
DateTimeMinutes("2017-03-24 11:43:23")devuelve 43.
DateTimeMonth
DateTimeMonth(dt): devuelve el valor numérico correspondiente al mes en un valor fecha y hora.
Parámetros
dt: datos de fecha y hora expresados como una columna seleccionada o un valor especificado de fecha y hora entre comillas.
Ejemplo
DateTimeMonth("2017-03-24 11:43:23")devuelve 3.
DateTimeMonth("11:43:23")devuelve [Null] porque los datos entrantes no son válidos.
DateTimeNow
DateTimeNow(): devuelve la fecha y hora actuales.
DateTimeParse
DateTimeParse(dt, f): convierte una cadena de fecha con el formato (f) y el idioma (l) especificados en el formato estándar ISO (yyyy-mm-dd HH:MM:SS con precisión de fecha y hora opcional si corresponde). Si el formato especificado tiene menos precisión, la salida se trunca.
Nota
This function isn't available for Live Query for Databricks.
Parámetros
dt: datos de cadena de fecha y hora expresados como un campo seleccionado o una cadena de fecha y hora entre comillas. Los datos entrantes deben ser un tipo de dato de cadena y pueden estar en cualquier formato de fecha y hora, siempre y cuando este formato concuerde con el formato especificado para el parámetro f.f: el formato de los datos entrantes de cadena de fecha que se están convirtiendo, expresado en una cadena de formato entre comillas.
Ejemplo
DateTimeParse("2016/28-03","%Y/%d-%m")devuelve 2016-03-28.DateTimeParse('Oct 4, 22 11:59:57.99', '%b %d, %y %H:%M:%S')devuelve '2022-10-04 11:59:57'. La función elimina los dígitos finales.
DateTimeSeconds
DateTimeSeconds(dt): devuelve la porción de los segundos de la hora en un valor fecha y hora.
Parámetros
dt: datos de fecha y hora expresados como una columna seleccionada o un valor especificado de fecha y hora entre comillas.
DateTimeToday
DateTimeToday(): devuelve la fecha de hoy.
Comportamiento esperado: tipo de dato de DateTimeToday
A pesar de su nombre, DateTimeToday() no devuelve un valor de hora. En su lugar, solo devuelve el valor de fecha con la fecha actual. Puedes envolver la función DateTimeToday() en la función ToDateTime() para devolver un valor de fecha y hora con la hora establecida a la medianoche del día actual:
ToDateTime(DateTimeToday())
DateTimeTrim
DateTimeTrim(dt, f): quita las partes no deseadas de un valor fecha y hora, y devuelve el valor fecha y hora modificado.
Nota
This function isn't available for Live Query for Databricks.
Parámetros
dt: datos de fecha y hora expresados como una columna seleccionada o un valor especificado de fecha y hora entre comillas.f: tipo de recorte. Las opciones incluyen:firstofmonth: recortar hasta principios de mes (esto hace lo mismo que “month”).
lastofmonth: extender a un segundo antes del fin del último día del mes.
year: recortar hasta la medianoche del 1 de enero.
month: recortar hasta la medianoche del primer día del mes.
day: recortar hasta el día (es decir, medianoche). Esto convierte una fecha y hora en un día con un horario cero (no una fecha).
hour: recortar hasta la hora.
minute: recortar hasta el minuto.
seconds: recortar los segundos y las fracciones de segundo empleando las palabras clave indicadas en la sección Palabras clave para unidades de fecha y hora.
Recortar un valor de fecha y hora no devuelve un valor redondeado. Por ejemplo, la hora 15:59:59 recortada a la hora se convierte en 15:00:00, no 16:00:00.
Ejemplo
DateTimeTrim("2016-12-07 16:03:00","year")devuelve 2016-01-01 00:00:00.DateTimeTrim('2016-12-07 11:59:57.99','msec')devuelve 11:59:57.990.DateTimeTrim('2016-12-07 11:59:57.99',4)devuelve 11:59:57.9900.DateTimeTrim('2016-12-07 11:59:57.123456789','milliseconds')devuelve 11:59:57.123.
DateTimeYear
DateTimeYear(dt): devuelve el valor numérico correspondiente al año en un valor de fecha y hora.
Parámetros
dt: datos de fecha y hora expresados como una columna seleccionada o un valor especificado de fecha y hora entre comillas.
Ejemplo
DateTimeYear("2017-03-24 11:43:23")devuelve 2017.
ToDate
ToDate(x): convierte una cadena, un número o una fecha y hora en una fecha.
Una cadena entrante debe tener el formato YYYY-MM-DD. Por ejemplo, 2020-10-31.
Un número entrante debe tener el formato de fecha de Excel, en el que el número representa la cantidad de días desde el 01-01-1900. Por ejemplo, 7000 corresponde a 03-01-1919.
Una fecha y hora entrante debe tener el formato YYYY-MM-DD hh:mm:ss. Por ejemplo, 2020-10-31 12:00:00.
Ejemplos
ToDate(2020-10-31) devuelve 2020-10-31 como una fecha.
ToDate(7000) devuelve 1919-03-01 como una fecha.
ToDate(2020-10-31 12:00:00) devuelve 2020-10-31 como una fecha.
ToDateTime
DateTimeTrim(ToDateTime(x), t): convierte una cadena, un número o un valor fecha en una fecha y hora. La función ToDateTime no admite una precisión mayor que los segundos. Limita los valores de Excel a la representación de segundos (5 dígitos, hasta 99999).
Una cadena entrante debe tener el formato YYYY-MM-DD hh:mm:ss. Por ejemplo, 2020-10-31 12:00:00.
Un número entrante debe tener el formato de fecha y hora de Excel, en el que el número representa la cantidad de días desde el 01-01-1900. Por ejemplo, 7000.354167 corresponde a 03-01-1919 a las 08:30 AM.
Ejemplo
ToDateTime('2020-10-31')devuelve 2020-10-31 00:00:00 como un valor de fecha y hora.ToDateTime(7000.354167)devuelve 1919-03-01 08:30:00 como un valor de fecha y hora.ToDateTime('2020-10-31 12:00:00')devuelve 2020-10-31 12:00:00 como un valor de fecha y hora.