Skip to main content

Funciones de fecha y hora

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.

Alteryx utiliza el formato AAAA-MM-DD HH:MM:SS para representar fechas y horas. Para exactitud adicional (hasta 18 dígitos de precisión), agrega un punto y dígitos adicionales después de la posición de segundos. Por ejemplo, AAAA-MM-DD HH:MM:SS.fff. Si un valor de fecha y hora no está en este formato, Alteryx 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.

Formato de fecha

Algunas funciones de fecha y hora requieren que establezcas el formato de la fecha. Las cadenas de formato constan de especificadores y separadores.

Funciones de fecha y hora

Consulta las funciones DateTime a continuación.

DateTimeAdd

DateTimeAdd(dt,i,u): agrega un intervalo específico a un valor de fecha y hora.

Parámetros

dt: datos de fecha/hora.

i: entero positivo o negativo de tiempo para sumar o restar.

u: unidad de fecha y hora, especificada entre comillas mediante las palabras clave que aparecen en la sección Palabras clave para unidades de fecha y hora.

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).

DateTimeAdd("2016-03-30 01:02:03.000000", 495, "microseconds") devuelve 2016-03-30 01:02:03.000495.

Mas información

  • 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.

  • Esta función realiza cálculos como si la zona horaria no tuviera cambios horarios relacionados con el horario estándar y el horario de verano. Esto puede producir resultados inesperados si el cálculo incluye fechas y horas en las que el horario cambia de verano a estándar o viceversa. Si la precisión del tiempo real que pasa es fundamental, primero debes convertir los datos a UTC.

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/hora.

Ejemplo

DateTimeDay("2017-03-24 11:43:23") devuelve 24.

DateTimeDiff

DateTimeDiff(dt1,dt2,u): resta el segundo argumento del primero (dt1 – dt 2) y devuelve la diferencia como un 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/hora.

u: unidad de fecha y hora, especificada entre comillas mediante palabras clave de la sección Palabras clave para unidades de fecha y hora.

Ejemplo

DateTimeDiff("2024-01-18", "2024-01-15", "days") devuelve 3.

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).

DateTimeDiff('2017-02-28 00:59:59.28139502', '2017-02-28 00:59:59.12383125', 'msecs') devuelve 157 (para milisegundos entre valores de fecha y hora).

Más información

  • 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.

  • Esta función realiza cálculos como si la zona horaria no tuviera cambios horarios relacionados con el horario estándar y el horario de verano. Esto puede producir resultados inesperados si el cálculo incluye fechas y horas en las que el horario cambia de verano a estándar o viceversa. Si la precisión del tiempo real que pasa es fundamental, primero debes convertir los datos a UTC.

DateTimeFirstOfMonth

DateTimeFirstOfMonth(): devuelve el primer día del mes, a la medianoche.

DateTimeFormat

DateTimeFormat(dt,f,[l],[tz]): convierte datos de fecha y hora del formato ISO en otro formato especificado (f), en un idioma especificado (l) y con el nombre de la zona horaria (tz) para su uso por otra aplicación. Las salidas generadas son de tipo de dato de cadena. Si el formato especificado tiene menos precisión que los datos entrantes, la salida se trunca y no se redondea. Por ejemplo, si pasas un tiempo a microsegundos (.012789) y el formato especifica el tiempo en milisegundos, el resultado se trunca a .012 en lugar de redondearse a .013. El parámetro opcional de zona horaria te permite controlar el estilo del texto que se agrega a la cadena (por ejemplo, “EDT”).

Parámetros

dt: datos de fecha/hora.

f: formato al cual convertir los datos, expresados en una cadena de formato. Consulta la sección Especificadores a continuación.

l: Este es un parámetro de idioma opcional. Por defecto se ajusta a tu idioma seleccionado en Designer. Por ejemplo, si Designer se establece en francés, la función lee DateTimeParse(dt,f,"Français") de forma predeterminada. Ten en cuenta que, si se omite este parámetro, la función utiliza el inglés independientemente del idioma de tu interfaz de Designer. Ve a Parámetros de idioma para ver una lista de valores de idioma aceptados.

tz: este es un parámetro opcional de zona horaria. Ten en cuenta que los datos no se convierten. Esto es simplemente para guiar el estilo del texto agregado a la cadena.

  • El identificador de zona horaria determina qué desplazamiento mostrar si utilizas la instrucción de formato de desplazamiento (%z) o que se obtenga un nombre para mostrar para la zona horaria si utilizas la instrucción de formato de nombre de zona horaria (%Z).

  • El nombre de la zona horaria conserva el estilo del argumento: corto (como EST), largo (como Eastern Standard Time [Hora Estándar del Este]), genérico (como ET), o específico (como EST/EDT).

    El nombre se modifica para que coincida con la estación correcta para los datos. Por ejemplo, si se proporciona tz como EST para 2024-08-15, se corrige a EDT. Del mismo modo, para 2024-01-15, si se proporciona tz como EDT, se corrige a EST. Para ambos ejemplos, si se proporciona tz como un ET genérico, no se cambia para mostrar si es horario de verano o estándar.

  • Si no se proporciona tz en la llamada a la función, se utiliza la zona horaria del sistema.

Ejemplo

DateTimeFormat('2008-04-22',"%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).

DateTimeFormat('11:59:57.890994389','%H:%M:%S.%5') devuelve '11:59:57.89099' (se trunca a 5 dígitos de precisión según los dígitos especificados).

DateTimeFormat('11:59:57.99','%H:%M:%S,%3') devuelve '11:59:57,990' (puedes obtener el separador decimal de tu configuración regional. Este ejemplo utiliza una coma en lugar de un punto decimal).

DateTimeFormat('2024-03-10 01:00:00', '%b %d, %y %T %Z', '', 'ET') devuelve “Mar 10, 24 01:00:00 ET”. El estilo del argumento de zona horaria es corto y genérico, por lo que se utiliza eso en el resultado.

DateTimeFormat('2024-03-10 01:00:00', '%b %d, %y %T %Z', '', 'EDT') devuelve “Mar 10, 24 01:00:00 EST”. El estilo del argumento de zona horaria es corto y específico. Es incorrecto para el horario de los datos. El resultado obtiene el desplazamiento de zona horaria específico corregido.

DateTimeFormat('2024-03-10 01:00:00', '%b %d, %y %T %Z', '', 'Eastern Time') devuelve “Mar 10, 24 01:00:00 Eastern Time”. El estilo se mantiene, y no necesita corregirse ningún cambio.

DateTimeFormat('2024-03-10 01:00:00', '%b %d, %y %T %Z', '', 'Eastern Daylight Time') devuelve “Mar 10, 24 01:00:00 Eastern Standard Time”. El cambio de zona horaria se corrige.

DateTimeFormat('2024-03-10 01:00:00', '%b %d, %y %T %z', '', 'ET') devuelve “Mar 10, 24 01:00:00 -0400”.

DateTimeHour

DateTimeHour(dt): devuelve la porción de horas en un valor fecha y hora.

Parámetros

dt: datos de fecha/hora.

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).

Designer usa la fecha y hora en que el flujo de trabajo comienza a ejecutarse. 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.

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/hora.

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([tz]): devuelve la fecha y hora actuales, incluidos los segundos. Si proporcionas el parámetro opcional de zona horaria (tz), la hora devuelta estará en esa zona horaria. Si no proporcionas una zona horaria, la hora devuelta utiliza la zona horaria del sistema.

Parámetros

tz: (opcional) proporciona una zona horaria para la hora devuelta. Si se proporciona, la hora devuelta utiliza esa zona horaria. Si se omite, la hora devuelta utiliza la zona horaria del sistema.

DateTimeNowPrecise

DateTimeNowPrecise(digits,[tz]): devuelve la fecha y hora actuales del sistema con fracciones de segundo (hasta 18 dígitos de precisión). Si proporcionas el parámetro opcional de zona horaria (tz), la hora devuelta estará en esa zona horaria. Si no proporcionas una zona horaria, la hora devuelta utiliza la zona horaria del sistema.

Ten en cuenta que si solicitas una precisión más allá de lo que proporciona tu sistema operativo, la función rellena el resto con ceros como puedes ver en el segundo ejemplo.

Parámetros

digits: especifica la precisión del valor devuelto, entre 0 y 18 (inclusive).

tz: (opcional) proporciona una zona horaria para la hora devuelta. Si se proporciona, la hora devuelta utiliza esa zona horaria. Si se omite, la hora devuelta utiliza la zona horaria del sistema.

Ejemplo

DateTimeNowPrecise(3) devuelve '2022-10-14 11:59:57.991'.

DateTimeNowPrecise(12) devuelve '2022-10-14 11:59:57.991238400000'.

DateTimeParse

DateTimeParse(string,f,[l],[tzName]): convierte una cadena (string) de fecha con el formato (f) especificado, en un idioma (l) especificado con una zona horaria especificada (tzName) en el formato (AAAA-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.

Parámetros

string: datos de cadena de fecha y hora. 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.

Zonas horarias

Si el formato entrante incluye %z o %Z, Alteryx conoce la zona horaria de entrada. Convierte el valor de resultado de Fecha y hora en la zona horaria local o especificada. Si el formato o los datos no tienen información de zona horaria, Alteryx supone que la entrada ya está en la zona horaria local y no aplica ningún cambio de horario.

Revisa los datos y toma las medidas apropiadas para asegurarte de que tu salida está en el formato que esperas. Para consideraciones importantes sobre la zona horaria, ve a Zona horaria y cambios de horario de verano/estándar.

l: (opcional) el idioma de los datos entrantes de la cadena de fecha que se están convirtiendo. El parámetro de idioma se establece de forma predeterminada en el idioma de Alteryx Designer seleccionado cuando se editan fórmulas. Si se omite o se deja en blanco, se utiliza el inglés. Por ejemplo, si Designer se establece en francés, la función lee DateTimeParse(string,f,"Français") de forma predeterminada. Consulta Parámetros de idioma para conocer los valores de idioma aceptados.

tz: (opcional) la zona horaria a la que se convierten los datos si %z o %Z están en el formato y el texto contiene el nombre de una zona horaria o un desplazamiento. Los ejemplos ayudarán a aclarar esto. Si se omite la zona horaria, se utiliza la zona horaria del sistema para la conversión.

Ejemplo

DateTimeParse("2016/28-03","%Y/%d-%m") devuelve 2016-03-28.

DateTimeParse('mardi 14 juillet 2020', '%A %d %B %Y', 'Français') devuelve 2020-07-14, donde la cadena de fecha entrante es “mardi 14 juillet 2020” (martes 14 de julio de 2020).

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.

DateTimeParse('Oct 4, 22 11:59:57.99', '%b %d, %y %H:%M:%S.%3') devuelve '2022-10-04 11:59:57.990'. La función agrega ceros para que coincida con el formato %3.

DateTimeParse('Oct 4, 22 11:59:57.99', '%b %d, %y %H:%M:%S,%3') devuelve [Null] y una advertencia de que se esperaba “,” en lugar de “.”.

DateTimeParse('Mar 10, 24 01:00:00 PST', '%b %d, %y %T %Z') devuelve '2024-03-10 04:00:00’ si la zona horaria local es la del Este.

DateTimeParse('Mar 12, 24 01:00:00 PST', '%b %d, %y %T %Z') devuelve “2024-03-12 05:00:00” si la zona horaria local es la del Este porque la hora del Este ya ha cambiado a EDT (horario de verano del Este).

DateTimeParse('Mar 10, 24 01:00:00', '%b %d, %y %T %Z') devuelve “2024-03-10 01:00:00” si la zona horaria local es la del Este. A pesar de que el formato solicitaba información de zona horaria, esta no estaba presente en los datos. Si no se conoce la zona horaria para los datos de entrada, no se realiza ninguna conversión.

DateTimeParse('Mar 10, 24 01:00:00 PST', '%b %d, %y %T') devuelve “2024-03-11 01:00:00”. Como en el ejemplo anterior, si el formato no pide usar información de zona horaria, se ignora cualquier dato que pueda tener datos de zona horaria.

DateTimeQuarter

DateTimeQuarter(dt,[Q1Start]: devuelve el valor numérico correspondiente al trimestre del año en el que cae un valor fecha y hora (AAAA-MM-DD). Utiliza el parámetro numérico opcional para indicar el mes de inicio del primer trimestre (Q1).

Parámetros

dt: datos de fecha/hora.

Q1Start: utiliza el parámetro numérico opcional para indicar el mes de inicio del primer trimestre (1-12).

Ejemplo

DateTimeQuarter("2023-01-03") devuelve 1. No hay error porque el segundo parámetro es opcional.

DateTimeQuarter("2023-05-03", 1) devuelve 2.

DateTimeQuarter("2023-05-03", 7) devuelve 4. El parámetro opcional indica que el primer trimestre comienza en julio.

DateTimeQuarter("2023-05-03 12:04:55", 7) devuelve 4. El parámetro opcional indica que el primer trimestre comienza en julio, la marca de tiempo se ignora.

DateTimeQuarter("2023-01-03", 13) devuelve Null. El segundo parámetro debe ser un valor numérico entre 1 y 12.

DateTimeQuarter("2023-01-03", 0) devuelve Null. El segundo parámetro debe ser un valor numérico entre 1 y 12.

DateTimeQuarter("2023-01-03", -1) devuelve Null. El segundo parámetro debe ser un valor numérico entre 1 y 12.

DateTimeQuarter("12:00:55") devuelve Null.

DateTimeSeconds

DateTimeSeconds(dt): devuelve la parte de los segundos de la hora en un valor de fecha y hora, incluida cualquier precisión de subsegundos, si corresponde.

Parámetros

dt: datos de fecha/hora.

Ejemplo

DateTimeSeconds('11:59:57.99') devuelve 57.99.

DateTimeSeconds('11:59:57') devuelve 57.

DateTimeStart

DateTimeStart(): devuelve la fecha y hora en que el flujo de trabajo actual comenzó a ejecutarse, usando la zona horaria del sistema.

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())

DateTimeToLocal

DateTimeToLocal(dt,[tz]): convierte una fecha y hora de UTC al argumento tz opcional (si está presente) o a la zona horaria del sistema local. La función DateTimeToLocal ahora admite la precisión de fecha y hora en el campo dt.

Nota

El resultado no tiene ninguna indicación sobre cuál es su zona horaria. Debes usar DateTimeFormat o modificar el resultado como una cadena para indicar la zona horaria si lo deseas. Si utilizas DateTimeFormat, el argumento tz debe ser un nombre para la misma tz utilizada en la conversión. Podría usar un estilo diferente, como EST, o Eastern Daylight Time, o America/New_York, o “-0400”. Para consideraciones importantes sobre la zona horaria, ve a Zona horaria y cambios de horario de verano/estándar.

Parámetros

dt: datos de fecha/hora.

tz: este es un parámetro de zona horaria opcional para convertir los datos de fecha y hora. Si no se proporciona (tz) en la llamada a la función, se utiliza la zona horaria del sistema.

Ejemplo

DateTimeToLocal('2014-08-01 20:01:25') convierte a la zona horaria del sistema local (Mountain Time) como 2014-08-01 14:01:25.

DateTimeToLocal('2024-08-15 09:00:00.123') convierte la hora UTC a la hora del sistema, que podría ser America/New_York, que devuelve “2024-08-15 05:00:00.123”, o podría ser America/Denver, que devuelve “2024-08-03:00:00.123”.

DateTimeToLocal('2024-08-15 09:00:00.123', 'EST') convierte la hora UTC a el Horario de Verano del Este, aunque la hora especificada sea la hora estándar. La especificación de horario de verano/estándar se ignora cuando se busca la zona horaria para la conversión, por lo que devuelve “2024-08-15 05:00:00.123”.

DateTimeToUTC

DateTimeToUTC(dt,[tz]): convierte una fecha y hora (en la zona horaria proporcionada o la del sistema local) a UTC. Se supone que la fecha y hora de entrada está en la zona horaria dada, o bien en la zona horaria del sistema en el que se está ejecutando el flujo de trabajo. La función DateTimeToUTC ahora admite la precisión de fecha y hora en el campo dt.

Nota

El resultado no tiene ninguna indicación de que está en UTC. Debes usar DateTimeFormat o modificar el resultado como una cadena para indicar la zona horaria si lo deseas. Si utilizas DateTimeFormat, el argumento tz debe ser un nombre para la misma zona horaria utilizada en la conversión. Podría usar un estilo diferente, como UTC, GMT, Z o “+0000”. Para consideraciones importantes sobre la zona horaria, ve a Zona horaria y cambios de horario de verano/estándar.

Parámetros

dt: datos de fecha/hora.

tz: este es un parámetro opcional de zona horaria. Si no se proporciona tz en la llamada a la función, se utiliza la zona horaria del sistema.

Ejemplo

DateTimeToUTC(DateTimeNow()) devuelve la hora universal coordinada del tiempo de ejecución del flujo de trabajo: 2014-08-01 20:01:25 (donde la hora local, hora de la montaña, era 2014-08-01 14:01:25).

DateTimeToUTC('2024-08-15 09:00:00.123') convierte la hora en UTC desde la hora del sistema, que puede ser America/New_York, que devuelve “2024-08-15 13:00:00.123”, o America/Denver, que devuelve “2024-08-15:00:00.123”.

DateTimeTrim

DateTimeTrim(dt,t): quita las porciones no deseadas de un valor de fecha y hora, y devuelve la fecha y hora modificadas.

Parámetros

dt: datos de fecha/hora.

t: 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 (en otras palabras, la 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 fracciones de segundo utilizando palabras clave de 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 2016-12-07 11:59:57.990.

DateTimeTrim('2016-12-07 11:59:57.99',4) devuelve 2016-12-07 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/hora.

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.

Ejemplo

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

ToDateTime(x): convierte una cadena, un número o una fecha en un valor de 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.

Referencia de función de fecha y hora

Consulta estos especificadores, separadores, palabras clave y parámetros de idioma para su uso en funciones de fecha y hora.

Especificadores

Los especificadores siempre comienzan con un signo de porcentaje (%), seguido por una letra que distingue mayúsculas y minúsculas o un número. Los datos deben incluir al menos un año de dos dígitos.

Sugerencia

Si prefieres ver una lista alfabetizada, puedes hacerlo a continuación.

Especificador

Salida de DateTimeFormat

Entrada compatible con DateTimeParse

Año (Year)

%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…

  • Dependiendo de tu rango de fechas, usa cuatro dígitos para el año (por ejemplo, 2017 en lugar de 17).

  • Utiliza la herramienta RegEx para insertar un espacio después de los dos primeros dígitos de la cadena.

%Y

Los cuatro dígitos del año (“2016”).

Se leen dos o cuatro dígitos. Dos dígitos se mapean a un rango del año actual menos 66 al año actual más 33. Por ejemplo, para 2024, es de 1958 a 2057.

Mes (Month)

%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 (en el idioma especificado).

%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 (en el idioma especificado).

%h

Nombre abreviado del mes. 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.

%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.

Semana (Week)

%U

Esto devuelve el número de semana, como 00 – 53, con el comienzo de las semanas siendo domingo.

No disponible

%W

Esto devuelve el número de semana, como 00 – 53, con el comienzo de las semanas siendo lunes.

No disponible

Día del año/mes

%d

Día del mes (“01”)

1 o 2 dígitos, ignorando espacios (“1” o “01”).

%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”).

%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).

Día de la semana

%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 Alteryx no comprueba que 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 Alteryx no comprueba que el nombre de día especificado sea válido para la fecha determinada.

%u

Día de la semana como decimal, de 1 a 7, con el lunes siendo 1.

No disponible

%w

Día de la semana como número, de 0 a 6, con el domingo siendo 0.

No disponible

Hora, minuto, segundo

%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 (“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.

%k

24 horas, con el cero en el comienzo como espacio, de “ 0” a “23”.

Hasta 2 dígitos para la hora.

%M

Minutos, 00 a 59

Hasta 2 dígitos para los minutos.

%S

Segundos, 00 a 59

Hasta 2 dígitos para los segundos.

Misceláneos

%1–%18 (un número en el rango)

El número de dígitos de precisión para subsegundos.

Hasta 18 dígitos de precisión para subsegundos.

%c

Fecha y hora de la región de la computadora.

No disponible

%C

El número del siglo (“20”)

No disponible

%D

Equivalente a %m/%d/%y

No disponible

%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.

%l (“ele” minúscula)

12 horas, con el cero en el comienzo como espacio, de “ 1” a “12”.

No disponible

%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).

%T

Hora en notación de 24 horas. Equivalente a %H:%M:%S

Hora en notación de 24 horas. Equivalente a %H:%M:%S

%x

La fecha para la región de la computadora.

No disponible

%X

La hora de reloj de 12 horas, incluyendo AM o PM (“11:51:02 AM”).

Horas: minutos: segundos [AM/PM]

%z

Diferencia de horario UTC (“-600”).

Compatible para la entrada.

%Z

Nombre completo de la zona horaria (“hora estándar de la montaña”).

Compatible para la entrada.

Especificador

Salida de DateTimeFormat

Entrada compatible con DateTimeParse

%1 - %18 (un número en el rango)

El número de dígitos de precisión para subsegundos.

Hasta 18 dígitos de precisión para subsegundos.

%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 Alteryx no comprueba que 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 Alteryx no comprueba que 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 (en el idioma especificado).

%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 (en el idioma especificado).

%c

Fecha y hora de la región de la computadora.

No disponible

%C

El número del siglo (“20”)

No disponible

%d

Día del mes (“01”)

1 o 2 dígitos, ignorando espacios (“1” o “01”).

%D

Equivalente a %m/%d/%y

No disponible

%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

Nombre abreviado del mes. 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 (“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 (“ele” minúscula)

12 horas, con el cero en el comienzo como espacio, de “ 1” a “12”.

No disponible

%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

Hora en notación de 24 horas. Equivalente a %H:%M:%S

%u

Día de la semana como decimal, de 1 a 7, con el lunes siendo 1.

No disponible

%U

Esto devuelve el número de semana, como 00 – 53, con el comienzo de las semanas siendo domingo.

No disponible

%w

Día de la semana como número, de 0 a 6, con el domingo siendo 0.

No disponible

%W

Esto devuelve el número de semana, como 00 – 53, con el comienzo de las semanas siendo lunes.

No disponible

%x

La fecha para la región de la computadora.

No disponible

%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…

  • Usar cuatro dígitos para el año (por ejemplo, 2017 en lugar de 17), según el rango de fechas.

  • Utiliza la herramienta RegEx para insertar un espacio después de los dos primeros dígitos de la cadena.

%Y

Los cuatro dígitos del año (“2016”).

Se leen dos o cuatro dígitos. Dos dígitos se mapean a un rango del año actual menos 66 al año actual más 33. Por ejemplo, para 2024, es de 1958 a 2057.

%z

Diferencia de horario UTC (“-600”).

Compatible para la entrada.

%Z

Nombre completo de la zona horaria (“hora estándar de la montaña”).

Compatible para la entrada.

Separadores

Inserta los separadores 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 disponible

%t

Una tabulación

No disponible

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.

Palabras clave para unidades de fecha y hora

Estas palabras clave son compatibles con las funciones DateTimeAdd, DateTimeDiff y DateTimeTrim. No distinguen entre mayúsculas y minúsculas. Las palabras clave aceptadas para cada unidad se separan por comas.

En algunos casos, aceptamos abreviaturas hasta la palabra clave completa. Estos se especifican con la palabra upto en la siguiente lista y van desde la abreviatura aceptable más corta hasta la palabra clave completa. Por ejemplo, para segundos aceptamos sec y seconds, además de cualquier forma intermedia, como seco. Ten en cuenta que las palabras clave están en inglés y no se admite la traducción a otros idiomas.

También puedes utilizar valores numéricos como palabras clave para tiempos inferiores a los segundos. Esto incluye unidades que no se especifican concretamente en la lista que aparece a continuación. Por ejemplo, puedes usar la palabra clave “10” para indicar 10 dígitos de precisión.

  • yea upto years

  • mon upto months

  • day, days

  • hou upto hours

  • min hasta minutes

  • sec upto seconds

  • ds, dsec, dsecs, deciseconds, 1

  • cs, csec, csecs, centiseconds, 2

  • ms, msec, msecs, milliseconds, 3

  • us, usec, usecs, microseconds, 6

  • ns, nsec, nsecs, nanoseconds, 9

  • ps, psec, psecs, picoseconds, 12

  • fs, fsec, fsecs, femtoseconds, 15

  • as, asec, asecs, attoseconds, 18

Para ver algunos ejemplos de tamaño de campo de fecha y hora en varias unidades de precisión, consulta esta tabla:

Nombre

Abreviatura

Tamaño de Fecha y hora

Ejemplo

Seconds

sec

19 (predeterminado)

2023-02-24 01:23:45

Deciseconds (1)

ds, dsec, dsecs

21 (19 + 1 + 1)

2023-02-24 01:23:45.1

Centiseconds (2)

cs, csec, csecs

22 (19 + 1 + 2)

2023-02-24 01:23:45.12

Milliseconds (3)

ms, msec, msecs

23 (19 + 1 + 3)

2023-02-24 01:23:45.123

Microseconds (6)

us, usec, usecs

26 (19 + 1 + 6)

2023-02-24 01:23:45.123456

Nanoseconds (9)

ns, nsec, nsecs

29 (19 + 1 + 9)

2023-02-24 01:23:45.123456789

Picoseconds (12)

ps, psec, psecs

32 (19 + 1 + 12)

2023-02-24 01:23:45.123456789012

Femtoseconds (15)

fs, fsec, fsecs

35 (19 + 1 + 15)

2023-02-24 01:23:45.123456789012345

Attoseconds (18)

as, asec, asecs

38 (19 + 1 + 18)

2023-02-24 01:23:45.123456789012345678

Parámetros de idioma

Estos son los valores compatibles para el parámetro “l” (language [idioma]) que se admite con las funciones DateTimeFormat y DateTimeParse.

Nombre del idioma en inglés

Nombre del idioma en lengua nativa

Código del idioma

English

English

en

Italian

Italiano

it

French

Français

fr

German

Deutsch

de

Japanese

日本語

ja

Spanish

Español

es

Portuguese

Português

pt

Chinese

简体中文

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.

Nomenclatura de zonas horarias

Hay muchos estilos para nombrar zonas horarias. Los nombres pueden ser largos (Mountain Time), cortos (MT), específicos (MDT, MST) o genéricos (MT). La Internet Assigned Numbers Authority (IANA, Autoridad de Nombres Asignados de Internet) mantiene una base de datos de información de zona horaria. Su estilo de nombre es Región/Ciudad (por ejemplo, América/Los Ángeles, Europa/París).

La información de hora también se puede marcar con su desplazamiento relativo al Tiempo Universal Coordinado (UTC). Por ejemplo, 11:31-0500 es una zona horaria que está 5 horas atrasada con respecto a UTC (el mismo momento en UTC es 16:31). Esta hora podría ser hora central, hora estándar del Este u hora de Perú. El estilo IANA es el nombre canónico de una zona horaria. Otros nombres pueden ser aceptados dependiendo de la región del usuario.

Alteryx utiliza una biblioteca ampliamente utilizada (ICU) para buscar información de zona horaria. Si el flujo de trabajo hace referencia a una zona horaria que no se puede encontrar, el flujo de trabajo informa de un error.

Aviso

Ten en cuenta que los nombres cortos pueden ser ambiguos. Por ejemplo, IST puede ser el horario estándar de Irlanda, India o Israel. Por lo tanto, debes tener cuidado con tus datos de entrada.

Alteryx recomienda reemplazar los nombres de zona horaria cortos por nombres largos o de estilo IANA para garantizar que tus datos se manejen correctamente. Puedes utilizar la herramienta Buscar y reemplazar para hacer esto.

Para encontrar una zona horaria por nombre, si el idioma de Designer está configurado en otro idioma que no sea el inglés (a través de la Configuración del usuario > Idioma y región), Alteryx primero pide a la ICU que busque la zona horaria usando ese idioma. Si no encuentra la zona horaria con ese idioma, Alteryx le pide a la ICU que busque la zona horaria en inglés. Sucede que, en algunas regiones, se usan las abreviaturas en inglés incluso cuando el idioma local tiene un nombre largo para la zona.

Alteryx también intenta buscar el nombre en cada idioma admitido, comenzando con el idioma de la interfaz de Designer (o el idioma especificado en la función).

Sugerencia

Debes estar al tanto de los nombres utilizados para las zonas horarias en tus datos, y posiblemente utilizar la herramienta Buscar y reemplazar para asegurarte de obtener los nombres adecuados para las zonas horarias.

Zona horaria y cambios de horario de verano/estándar

Las zonas horarias que tienen cambios de horario de verano y estándar tienen complicaciones para tratar de interpretar las horas cercanas al cambio del horario de verano al estándar y viceversa.

Cambio al horario de verano

Hay una hora cerca del cambio al horario de verano que no es válida. En los EE. UU., cuando la hora estándar local estaba a punto de llegar al 10 de marzo de 2024 a las 2:00:00 AM, los relojes se adelantaron 1 hora al 10 de marzo de 2024 a las 3:00:00 AM del horario de verano local en su lugar.

Como resultado, no hubo 2024-03-10 02:30:00 del horario del Este (Eastern Time), por ejemplo. Esta hora no es válida: no existe tal hora. Sin embargo, las bibliotecas de Alteryx no detectan este problema. Si conviertes DateTimeToUTC('2024-03-10 02:30:00', 'Eastern Time'), el código aplica el desplazamiento para el tiempo estándar (5 horas), y devuelve “2024-03-10 07:30:00” sin ninguna advertencia de la entrada no válida.

Cambio al horario estándar

Hay una hora en el cambio al horario estándar que es ambigua. En los EE. UU., cuando el horario de verano local está a punto de llegar al 3 de noviembre de 2024 a las 2:00:00 AM, los relojes se atrasan 1 hora al 3 de noviembre de 2024 a las 1:00:00 AM del horario estándar local en su lugar.

2024-11-03 01:30:00 del horario del este (Eastern Time) puede referirse al horario estándar del Este (Eastern Standard Time) o el horario de verano del Este (Eastern Daylight Time). Dado que es un error muy común especificar EST para una hora que está realmente en el horario de verano, o EDT para una hora que está realmente en el horario estándar, las bibliotecas generalmente ignoran la especificación de estación cuando se busca información de zona horaria.

Como resultado, Alteryx no puede convertir la hora ambigua de la hora del Este a UTC usando la estación especificada correctamente. Aplica el desplazamiento para el horario estándar (5 horas) independientemente de si se especifica EST o EDT como la zona horaria a utilizar, es decir…

  • DateTimeToUTC('2024-11-03 01:30:00', 'Eastern Daylight Time') devuelve 2024-11-03 06:30:00.

  • DateTimeToUTC('2024-11-03 01:30:00', 'Eastern Standard Time') devuelve 2024-11-03 06:30:00.

  • DateTimeToUTC('2024-11-03 01:30:00', 'Eastern Time') devuelve 2024-11-03 06:30:00.

Notas y limitaciones

Fechas admitidas

Alteryx Designer no puede procesar fechas anteriores al 1 de enero de 1400.

Alteryx admite fechas en años desde 1400 hasta 9999. Damos por sentado que todas las fechas están en el calendario gregoriano, que es el calendario civil utilizado ahora en la mayor parte del mundo. Todos los cálculos (sumar y restar) ignoran los segundos bisiestos.