Funciones de fecha y hora en Jitterbit Studio
Introducción
Si estás utilizando estas funciones junto con las funciones Now o Now_, ten en cuenta que la zona horaria devuelta es la que está configurada en la máquina que ejecuta el agente. Todos los agentes en la nube están en UTC. Los agentes privados variarán según la máquina específica en la que se esté ejecutando cada agente. Si estás utilizando una función de conversión, ten esto en cuenta si tu proyecto está diseñado para ejecutarse tanto en la nube como en un agente privado.
Nota
Si tienes habilitada la configuración Anular la zona horaria del agente de programación en las políticas de tu organización, cualquier script que utilice funciones de fecha y hora como se describe aquí no se anulará con la zona horaria seleccionada.
Códigos de zona horaria
Los parámetros de zona horaria son uno de los códigos de zona horaria estándar, ya sea un nombre completo (código TZ) como "America/Los_Angeles", un desplazamiento UTC como "UTC-8:00" o una abreviatura como "PST" (código de tres letras). Los códigos de zona horaria son sensibles a mayúsculas y minúsculas. Se recomiendan los códigos TZ de nombre completo, si se está utilizando una zona horaria, ya que "AST" puede referirse tanto a la hora estándar "Atlántica" como a la "Árabe".
- Los códigos TZ (una lista no oficial) se pueden encontrar en https://es.wikipedia.org/wiki/Lista_de_zonas_horarias.
- Los códigos de tres letras están listados en https://es.wikipedia.org/wiki/Lista_de_abreviaturas_de_zonas_horarias. Estos son obsoletos según la IANA, aunque actualmente son compatibles.
- Se puede encontrar información adicional en https://www.iana.org/time-zones.
Convertir tiempos Unix a fechas
Si un tiempo Unix es un número que incluye precisión de milisegundos, puedes usar un código similar a este para convertir un tiempo Unix a una fecha:
// If you have a Unix timestamp with milliseconds such as
createdate = "1478119530707";
// You can convert it to a date by
// truncating the last three digits and using FormatDate:
date = double(Left(createdate, 10));
FormatDate(date, "yyyy-mm-dd");
ConvertTimeZone
Declaración
string ConvertTimeZone(date d, string fromTZ, string toTZ[, bool is_european_format, bool ignoreDST])
string ConvertTimeZone(string d, string fromTZ, string toTZ[, bool is_european_format, bool ignoreDST])
Sintaxis
ConvertTimeZone(<d>, <fromTZ>, <toTZ>[, <is_european_format>, <ignoreDST>])
Parámetros requeridos
date: Una fecha, ya sea como un objeto de fecha o como una cadena de fechafromTZ: La zona horaria de la que se va a convertir, expresada como un código de zona horariatoTZ: La zona horaria a la que se va a convertir, expresada como un código de zona horaria
Parámetros opcionales
-
is_european_format: Esta bandera opcional determina si se debe utilizar el formato de fecha europeo. Cuando estrue, el formato es día y luego mes; cuando esfalse, el formato es mes y luego día. -
ignoreDST: Por defecto, se tiene en cuenta el horario de verano al convertir entre las cuatro principales zonas horarias de EE. UU. Establezca esta bandera opcional entruepara anular esta acción.
Descripción
Toma una fecha y la devuelve convertida de una zona horaria a otra zona horaria.
Nota
Si está utilizando ConvertTimeZone junto con Now o Now_, tenga en cuenta que la zona horaria devuelta es la que está configurada en la máquina que ejecuta el agente. Todos los agentes en la nube están en UTC. Los agentes privados variarán según la máquina específica en la que se esté ejecutando cada agente. Si está utilizando una función de conversión, como ConvertTimeZone, tenga esto en cuenta si su proyecto está diseñado para ejecutarse tanto en la nube como en un agente privado.
Ejemplos
ConvertTimeZone(Now(), "UTC", "America/Los_Angeles", false, false);
// If Now() is 2017-03-10 18:34:37
// returns "2017-03-10 10:34:37"
ConvertTimeZone("02/06/2017 5:25:00", "America/Los_Angeles", "America/New_York");
// returns "2017-02-06 08:25:00" (shifts the time by 3 hours)
CVTDate
Declaración
string CVTDate(date d, string inputFormat, string outputFormat)
string CVTDate(string d, string inputFormat, string outputFormat)
Sintaxis
CVTDate(<d>, <inputFormat>, <outputFormat>)
Parámetros requeridos
-
d: Un objeto de fecha o cadena de fecha -
inputFormat: Una cadena de formato, que especifica el formato de la fecha de entrada -
outputFormat: Una cadena de formato, que especifica el formato de la fecha de salida
Descripción
Convierte un objeto de fecha o cadena de fecha en el formato de entrada a una cadena de fecha en el formato de salida.
Si se proporciona un objeto de fecha vacío o una cadena de fecha vacía para d, la función devolverá un objeto vacío en las versiones de agentes 11.39 y posteriores.
Nota
Los objetos de fecha vacíos o las cadenas de fecha vacías pueden producir resultados erróneos con agentes en la versión 11.38 y anteriores.
Si se está utilizando CVTDate junto con Now o Now_, tenga en cuenta que la zona horaria devuelta es la que está configurada en la máquina que ejecuta el agente. Todos los agentes en la nube están en UTC. Los agentes privados variarán según la máquina específica en la que se esté ejecutando cada agente. Si se está utilizando una función de conversión, como CVTDate, tenga esto en cuenta si su proyecto está diseñado para ejecutarse tanto en la nube como en un agente privado.
Ejemplos
En estos ejemplos, se asume que todos los agentes están ejecutándose en la nube, y los tiempos devueltos serían UTC. "myDate" es la fecha 19 de junio de 1994.
| Fórmula | Entrada | Salida |
|---|---|---|
CVTDate(myDate, "mmddyy", "yyyymmdd") |
061994 |
19940619 |
CVTDate(myDate, "mmddyy", "ShortDate") |
061994 |
6/19/94 |
CVTDate(myDate, "mmddyy", "LongDate") |
061994 |
Domingo, 19 de junio de 1994 |
CVTDate(Now(), "GeneralDate", "dd-mmm-yy, HH:MM AP") |
el 31/01/17 a las 12:39 PM en MST | 31-Ene-17, 07:39 PM |
CVTDate(Now(), "GeneralDate", "dd-mmm-yy, HH:MM.SS AP") |
el 31/01/17 a las 12:39:13 PM en MST | 31-Ene-17, 07:39:13 PM |
CVTDate(Now_(), "GeneralDate", "ddmmmyyyy, HH:MM:SS.zzz AP") |
el 31/01/17 a las 12:39:13.310 PM en MST | 31Ene2017, 07:39:13.310 PM |
CVTDate(Now(), "GeneralDate", "yyyy_mm_dd_HH_MM") |
el 31/01/17 a las 12:39:13.310 PM en MST | 2017_01_31_19_39_13 |
CVTDate(Now(), "UTC", "yyyy-mm-ddTHH:MM:SS.zzzZ") |
el 31/01/17 a las 12:39:13.310 PM en MST | 2017-01-31T19:39:13.310Z |
CVTDate(myDate, "mmddyy", "%Y%m%d%a") |
061994 |
19940619Dom |
CVTDate(myDate, "mmddyy", "%Y %m %d %a") |
061994 |
1994 06 19 Dom |
CVTDate(myDate, "mmddyy", "%Y %m %d %A") |
061994 |
1994 06 19 Domingo |
Format strings
El formato tanto de la cadena de fecha de entrada como de la cadena de fecha de salida se especifica de la misma manera utilizando caracteres como marcadores de posición o uno de los cuatro formatos de fecha predefinidos (GeneralDate, LongDate, MediumDate, o ShortDate).
Para las entradas, el año, mes, día, hora, minuto, segundo y AM/PM se leen de la cadena de fecha en la posición donde aparecen y, m, d, H, M, S, SSS, y AP en la cadena de formato de entrada.
Para las salidas, la cadena de formato se copia a la cadena de datos con el año, mes, día, hora, minuto y segundo reemplazando los caracteres de y, m, d, H, M, S, SSS, y AP.
Alternativamente, se pueden usar las sustituciones utilizadas en el método ANSI C strftime. Por ejemplo, la cadena "%Y-%m-%d" daría como resultado el formato de fecha ISO 8601 (yyyy-mm-dd). Consulte la documentación externa sobre strftime para una descripción detallada.
Estos códigos pueden aparecer según sea necesario en la cadena de formato para especificar cómo leer la entrada o escribir la salida:
| Formato | Entrada o Salida |
|---|---|
yyyy |
Año de 4 dígitos |
yy |
Año de 2 dígitos (últimos) |
??yy |
Año de 2 o 4 dígitos |
mmm |
Ene, Feb, Mar, Abr, May, Jun, Jul, Ago, Sep, Oct, Nov, Dic |
mm |
Mes de 2 dígitos (01-12) |
?m |
Mes de 1 o 2 dígitos (1-12) |
ddd |
Fecha juliana (001-366) |
dd |
Día de 2 dígitos (01-31) |
?d |
Día de 1 o 2 dígitos (1-31) |
HH |
Hora (00-23) o (01-12) si AM/PM se especifica usando AP |
MM |
Minuto (00-59) |
SS |
Segundo (00-59) |
zzz |
Milisegundo (.001-.999) |
AP |
AM o PM |
GeneralDate |
6/19/94 5:34:23 PM |
LongDate |
Domingo, 19 de junio de 1994 |
MediumDate |
19-Jun-1994 |
ShortDate |
6/19/94 |
DateAdd
Declaración
string DateAdd(string datePart, int number, date d)
string DateAdd(string datePart, int number, string d)
Sintaxis
DateAdd(<datePart>, <number>, <d>)
Parámetros requeridos
datePart: Un código de parte que describe la parte de la fecha a la que se aplicará la adiciónnumber: Un número entero que se sumará a la parte de la fechad: El objeto de fecha o una cadena de fecha sobre la que se operará
Descripción
Devuelve una cadena de fecha después de agregar un número a una parte especificada de un objeto de fecha.
Estos códigos se utilizan para describir las partes de la fecha:
| Parte de la Fecha | Código de Parte |
|---|---|
| Año | yyyy o yy |
| Mes | mm o m |
| Semana | ww o wk |
| Día | dd |
| Hora | hh |
| Minuto | mi o n |
| Segundo | ss o s |
Advertencia
Cuando se utiliza con versiones de agente 10.83 / 11.21 o anteriores, la función DateAdd devuelve el valor incorrecto al suministrar la parte de fecha del mes (mm o m) y un número entero negativo que es un múltiplo de 12 (12, 24, 36, etc.). Esto resulta en que el año de la fecha devuelta se reduce incorrectamente en un año adicional.
Ejemplos
DateAdd("yyyy", 1, Now());
// Adding one year to a date
// If Now() is 2017-03-10 18:46:41
// returns "2018-03-10 18:46:41"
DateAdd("dd", 1, "2017-03-10");
// Adding one day to a date
// returns "2017-03-11"
DayOfMonth
Declaración
int DayOfMonth(date d)
int DayOfMonth(string d)
Sintaxis
DayOfMonth(<d>)
Parámetros requeridos
d: Un objeto de fecha o cadena de fecha
Descripción
Devuelve el día del mes (1-31) de un objeto de fecha o cadena de fecha.
Ejemplos
DayOfMonth(Now());
// Devuelve 25 si hoy es 25 de diciembre
DayOfWeek
Declaración
int DayOfWeek(date d)
int DayOfWeek(string d)
Sintaxis
DayOfWeek(<d>)
Parámetros requeridos
d: Un objeto de fecha o cadena de fecha
Descripción
Devuelve el día de la semana para un objeto de fecha o cadena de fecha, con 0 para domingo, 1 para lunes, hasta 6 para sábado.
Esta definición es independiente de la configuración regional. Para el nombre del día de la semana, llama a FormatDate en su lugar.
Ejemplos
DayOfWeek(Now());
// Returns 0, if today is Sunday
Now() + (6 - DayOfWeek(Now()))*24*60*60;
// Returns the date object of the last day of the current week,
// assuming Saturday (day 6) is the last day of the week
FormatDate
Declaración
string FormatDate(date d, string format)
string FormatDate(string d, string format)
Sintaxis
FormatDate(<d>, <format>)
Parámetros requeridos
d: Un objeto de fecha o cadena de fechaformat: Una cadena de formato, que especifica el formato de la fecha de salida
Descripción
Convierte un objeto de fecha a una cadena de acuerdo con una cadena de formato. Esto es similar a la función CVTDate y utiliza las mismas cadenas de formato.
Ejemplos
FormatDate(Now(),"%w");
// Similar to DayOfWeek(Now()), except the return value
// is a string value of today's weekday name, such as "Wed"
FormatDate("2017-12-07","%A");
// Returns the weekday name of the date string, such as "Thursday"
LPadChar(String(Long(FormatDate(d, "yyyy")) - 1900), "0", 3) + FormatDate(d, "ddd");
// Returns, for a date d, a string formatted as a JD Edwards Date ("CYYDDD")
// If d = "2000-12-31" (a leap year), returns "100366"
// See https://docs.oracle.com/cd/E26228_01/doc.93/e21961/julian_date_conv.htm#WEAWX259
GeneralDate
Declaración
string GeneralDate(date d)
string GeneralDate(string d)
Sintaxis
GeneralDate(<d>)
Parámetros requeridos
d: Un objeto de fecha o una cadena de fecha
Descripción
Devuelve una cadena en el formato de fecha general para un objeto de fecha o una cadena de fecha.
Ejemplos
GeneralDate(Now());
// If Now() is 2017-09-16 11:59:23
// returns "09/16/2017 11:59:23 AM"
GeneralDate("2017-12-07");
// returns "12/07/2017 12:00:00 AM"
GetUTCFormattedDate
Declaración
string GetUTCFormattedDate(date d, string time_zone_id[, bool is_european_format])
string GetUTCFormattedDate(string d, string time_zone_id[, bool is_european_format])
Sintaxis
GetUTCFormattedDate(<d>, <time_zone_id>[, <is_european_format>])
Parámetros requeridos
-
d: Un objeto de fecha o una cadena de fecha -
time_zone_id: La zona horaria de la que se va a convertir, expresada como un código de zona horaria
Parámetros opcionales
is_european_format: Esta bandera opcional determina si se debe utilizar el formato de fecha europeo. Cuando estrue, el formato es día y luego mes; cuando esfalse, el formato es mes y luego día.
Descripción
Devuelve una cadena de fecha sin información de tiempo. Convierte un objeto de fecha o una cadena de fecha a una cadena de acuerdo con un código de zona horaria.
Advertencia
Si se pasa una fecha con una hora, la función GetUTCFormattedDate() trunca la hora antes de convertir a UTC. Esto significa que las marcas de tiempo que están después de la medianoche UTC se devolverán como ocurridas en la fecha anterior, como se muestra en el ejemplo anterior para la zona horaria "America/Los_Angeles".
Nota
Si está utilizando GetUTCFormattedDate junto con Now o Now_, tenga en cuenta que la zona horaria devuelta es la que está configurada en la máquina que ejecuta el agente. Todos los agentes en la nube están en UTC. Los agentes privados variarán según la máquina específica en la que se esté ejecutando cada agente. Si está utilizando una función de conversión, como GetUTCFormattedDate, tenga esto en cuenta si su proyecto está diseñado para ejecutarse tanto en la nube como en un agente privado.
Ejemplos
// If Now() is 2017-12-09 18:46:41, then:
GetUTCFormattedDate(Now(), "UTC", false);
// Returns "2017-12-09"
GetUTCFormattedDate(Now(), "America/Los_Angeles", false);
// Returns "2017-12-09"
GetUTCFormattedDateTime
Declaración
string GetUTCFormattedDateTime(date d, string time_zone_id[, bool is_european_format])
string GetUTCFormattedDateTime(string d, string time_zone_id[, bool is_european_format])
Sintaxis
GetUTCFormattedDateTime(<d>, <time_zone_id>[, <is_european_format>])
Parámetros requeridos
-
d: Un objeto de fecha o cadena de fecha -
time_zone_id: La zona horaria de la que se va a convertir, expresada como un código de zona horaria
Parámetros opcionales
is_european_format: Este indicador opcional determina si se debe utilizar el formato de fecha europeo. Cuando estrue, el formato es día y luego mes; cuando esfalse, el formato es mes y luego día.
Descripción
Devuelve una cadena de fecha con información de tiempo. Convierte un objeto de fecha o cadena de fecha a una cadena de acuerdo con un código de zona horaria.
Nota
Si se está utilizando GetUTCFormattedDateTime junto con Now o Now_, tenga en cuenta que la zona horaria devuelta es la que está configurada en la máquina que ejecuta el agente. Todos los agentes en la nube están en UTC. Los agentes privados variarán según la máquina específica en la que se esté ejecutando cada agente. Si se está utilizando una función de conversión, como GetUTCFormattedDateTime, tenga esto en cuenta si su proyecto está diseñado para ejecutarse tanto en la nube como en un agente privado.
Ejemplos
// If Now() is 2017-12-09 18:46:21, then:
GetUTCFormattedDateTime(Now(), "UTC", false);
// returns "2017-12-09T18:46:21Z"
GetUTCFormattedDateTime(Now(), "America/Los_Angeles", false);
// returns "2017-12-10T02:46:21Z"
LastDayOfMonth
Declaración
date LastDayOfMonth(date d)
date LastDayOfMonth(string d)
Sintaxis
LastDayOfMonth(<d>)
Parámetros requeridos
d: Un objeto de fecha o cadena de fecha
Descripción
Devuelve un objeto de fecha que representa el último día del mes para un objeto de fecha o cadena de fecha.
Ejemplos
LastDayOfMonth(Now());
// Si Now() es un día en febrero de 2000 (un año bisiesto),
// devuelve "2000-02-29"
LongDate
Declaración
string LongDate(date d)
string LongDate(string d)
Sintaxis
LongDate(<d>)
Parámetros requeridos
d: Un objeto de fecha o cadena de fecha
Descripción
Devuelve una cadena en el formato de fecha larga para un objeto de fecha o cadena de fecha.
Ejemplos
LongDate(Now());
// Si Now() es 2017-09-16 11:59:23
// devuelve "Sábado, 16 de septiembre de 2017"
LongTime
Declaración
string LongTime(date d)
string LongTime(string d)
Sintaxis
LongTime(<d>)
Parámetros requeridos
d: Un objeto de fecha o cadena de fecha
Descripción
Devuelve una cadena en el formato de hora larga para un objeto de fecha o cadena de fecha.
Ejemplos
LongTime(Now());
// Si Now() es 2017-09-16 11:59:23
// devuelve "11:59:23 AM"
MediumDate
Declaración
string MediumDate(date d)
string MediumDate(string d)
Sintaxis
MediumDate(<d>)
Parámetros requeridos
d: Un objeto de fecha o una cadena de fecha
Descripción
Devuelve una cadena en el formato de fecha media para un objeto de fecha o una cadena de fecha.
Ejemplos
MediumDate(Now());
// Si Now() es 2017-09-16 11:59:23
// devuelve "16-Sep-17"
MediumTime
Declaración
string MediumTime(date d)
string MediumTime(string d)
Sintaxis
MediumTime(<d>)
Parámetros requeridos
d: Un objeto de fecha o una cadena de fecha
Descripción
Devuelve una cadena en el formato de hora media para un objeto de fecha o una cadena de fecha.
Ejemplos
MediumTime(Now());
// Si Now() es 2017-09-16 11:59:23
// devuelve "11:59 AM"
MonthOfYear
Declaración
int MonthOfYear(date d)
int MonthOfYear(string d)
Sintaxis
MonthOfYear(<d>)
Parámetros requeridos
d: Un objeto de fecha o una cadena de fecha
Descripción
Devuelve el mes (1-12) para un objeto de fecha o una cadena de fecha.
Ejemplos
MonthOfYear(Now());
// Si Now() es 2017-09-16 11:59:23
// devuelve "9"
Now
Declaración
date Now()
Sintaxis
Now()
Descripción
Devuelve un objeto de fecha que representa los valores de fecha y hora en el momento en que se ejecutó la función. La fracción de segundo es truncada.
Nota
Tenga en cuenta que la zona horaria de la fecha devuelta es la que está configurada en la máquina que ejecuta el agente. Todos los agentes en la nube están en UTC. Los agentes privados variarán según la máquina específica en la que se esté ejecutando cada agente. Si está utilizando funciones de conversión, tenga esto en cuenta si su proyecto está diseñado para ejecutarse tanto en la nube como en un agente privado.
Examples
Now();
// If the current date and time is 11:59:23 AM on September 16, 2017
// returns "2017-09-16 11:59:23"
Now_
Declaration
date Now_()
Syntax
Now_()
Description
Devuelve un objeto de fecha que representa los valores de fecha y hora en el momento en que se ejecutó la función. El valor de tiempo incluye la fracción de segundo (milisegundos).
Nota
Tenga en cuenta que la zona horaria de la fecha devuelta es la que está configurada en la máquina que ejecuta el agente. Todos los agentes en la nube están en UTC. Los agentes privados variarán según la máquina específica en la que se esté ejecutando cada agente. Si está utilizando funciones de conversión, tenga esto en cuenta si su proyecto está diseñado para ejecutarse tanto en la nube como en un agente privado.
Examples
Now_();
// If the current date and time is 11:59:23.123 AM on September 16, 2017
// returns "2017-09-16 11:59:23.123"
// Examples of manipulating Now_ output:
date = Now_();
seconds = Long(date);
milliseconds = FormatDate(date, 'zzz');
ShortDate
Declaration
string ShortDate(date d)
string ShortDate(string d)
Syntax
ShortDate(<d>)
Required Parameters
d: Un objeto de fecha o una cadena de fecha
Description
Devuelve una cadena en el formato de fecha corta para un objeto de fecha o una cadena de fecha.
Examples
ShortDate(Now());
// If Now() is 2017-09-16 11:59:23
// returns "9/16/17"
ShortTime
Declaración
string ShortTime(date d)
string ShortTime(string d)
Sintaxis
ShortTime(<d>)
Parámetros Requeridos
d: Un objeto de fecha o una cadena de fecha
Descripción
Devuelve una cadena en el formato de hora corta para un objeto de fecha o una cadena de fecha.
Ejemplos
ShortTime(Now());
// Si Now() es 2017-09-16 11:59:23
// devuelve "11:59"