Funciones de fecha y hora en Jitterbit Design Studio
Introducción
Si está utilizando estas funciones junto con el Now
o Now_
funciones, tenga en cuenta que la huso horario devuelta es la configurada en la máquina que ejecuta el agente. Todos los agentes de la nube están en UTC. Los agentes privados variarán según la máquina específica en la que se ejecuta cada agente. Si está utilizando una función de conversión, tenga esto en cuenta si su proyecto está diseñado para ejecutarse tanto en la nube como en un agente privado.
Nota
Si tiene la configuración Anular Huso horario del Agente de programación habilitada en las políticas de su organización, cualquier secuencias de comandos que utilice funciones de fecha y hora como las descritas aquí no será reemplazado por la huso horario seleccionada.
Códigos de zona horaria
Los parámetros de huso horario son uno de los códigos de huso horario estándar, ya sea un nombre completo (código TZ) como "America/Los_Angeles"
, un desfase UTC como "UTC-8:00"
, o una abreviatura como "PST" (código de tres letras). Los códigos de zona horaria distinguen entre mayúsculas y minúsculas. Se recomienda utilizar códigos TZ con el nombre completo si se utiliza una huso horario, ya que "AST" puede hacer referencia a la hora estándar del "Atlántico" o "árabe".
- Los códigos TZ (una lista no oficial) se pueden encontrar en https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
- Los códigos de tres letras se enumeran en https://en.wikipedia.org/wiki/List_of_time_zone_abbreviations. Estos están en desuso por la IANA, aunque actualmente se admite.
- Puede encontrar información adicional en https://www.iana.org/time-zones.
Convertir horas de Unix a fechas
Si una hora UNIX es un número que incluye una precisión de milisegundos, puede utilizar un código similar a este para convertir una hora UNIX en 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 necesarios
date
: Una fecha, ya sea como un objeto de fecha o como una cadena de fechafromTZ
: La huso horario desde la que se convertirá, expresada como un código de huso horariotoTZ
: La huso horario a la que se convertirá, expresada como un código de huso horario
Parámetros opcionales
-
is_european_format
: Esta bandera opcional determina si se utilizará el formato de fecha europeo. Cuandotrue
, el formato es día y luego mes; cuandofalse
El formato es mes y luego día. -
ignoreDST
: De manera predeterminada, el horario de verano se tiene en cuenta al realizar la conversión entre las cuatro husos horarios principales de EE. UU. Establezca esta bandera opcional entrue
para anular esta acción.
Descripción
Toma una fecha y la devuelve convertida de una huso horario a otra.
Nota
Si está utilizando ConvertTimeZone
en conjunto con Now
o Now_
Tenga en cuenta que la huso horario devuelta es la configurada en la máquina en la que se ejecuta el agente. Todos los agentes de la nube están en UTC. Los agentes privados variarán según la máquina específica en la que se ejecute 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 necesarios
d
: Un objeto de fecha o una cadena de fechainputFormat
: Una cadena de formato, especificando el formato de la fecha de entradaoutputFormat
: Una cadena de formato, especificando el formato de la fecha de salida
Descripción
Convierte un objeto de fecha o una cadena de fecha en el formato de entrada en una cadena de fecha en el formato de salida.
Nota
Si está utilizando CVTDate
en conjunto con Now
o Now_
Tenga en cuenta que la huso horario devuelta es la configurada en la máquina en la que se ejecuta el agente. Todos los agentes de la nube están en UTC. Los agentes privados variarán según la máquina específica en la que se ejecute cada agente. Si 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 supone que todos los agentes se ejecutan en la nube y que las horas devueltas 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 | Sunday, June 19, 1994 |
CVTDate(Now(), "GeneralDate","dd-mmm-yy, HH:MM AP") | el 31/01/17 a las 12:39 p. m. en MST | 31-Jan-17, 07:39 PM |
CVTDate(Now(), "GeneralDate","dd-mmm-yy, HH:MM.SS AP") | el 31/01/17 a las 12:39:13 p. m. en MST | 31-Jan-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 | 31Jan2017, 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(myDate, "mmddyy", "%Y%m%d%a") | 061994 | 19940619Sun |
CVTDate(myDate, "mmddyy", "%Y %m %d %a") | 061994 | 1994 06 19 Sun |
CVTDate(myDate, "mmddyy", "%Y %m %d %A") | 061994 | 1994 06 19 Sunday |
Cadenas de formato
El formato de la cadena de fecha de entrada y de la cadena de fecha de salida se especifican 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 y, m, d, H, M, S, SSS,
y AP
aparecen 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, las sustituciones utilizadas en el método ANSI C strftime
se puede utilizar. 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 obtener 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 | (último) año de 2 dígitos |
??yy | Año de 2 o 4 dígitos |
mmm | Enero, febrero, marzo, abril, mayo, junio, julio, agosto, septiembre, octubre, noviembre, diciembre |
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 se especifica AM/PM utilizando AP |
MM | Minuto (00-59) |
SS | Segundo (00-59) |
zzz | Milisegundo (.001-.999) |
AP | AM o PM |
GeneralDate | 19/06/94 17:34:23 |
LongDate | Domingo 19 de junio de 1994 |
MediumDate | 19 de junio de 1994 |
ShortDate | 19/06/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 necesarios
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 agregará a la parte de la fechad
: El objeto de fecha o una cadena de fecha sobre la que se realizará la operación
Descripción
Devuelve una cadena de fecha después de agregar un número a una parte específica de un objeto de fecha.
Estos códigos se utilizan para describir las partes de fecha:
Parte de 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 |
Precaución
Cuando se utiliza con versiones de agente 10.83 / 11.21 o anteriores, DateAdd
La función devuelve un valor incorrecto al proporcionar la parte de la fecha del mes (mm
o m
) y un entero negativo que es múltiplo de 12
(12
, 24
, 36
, etc.). Esto da como resultado que el año de la fecha devuelta se reduzca 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 necesarios
d
: Un objeto de fecha o una cadena de fecha
Descripción
Devuelve el día del mes (1-31) de un objeto de fecha o una cadena de fecha.
Ejemplos
DayOfMonth(Now());
// Returns 25 if today is December 25
DayOfWeek
Declaración
int DayOfWeek(date d)
int DayOfWeek(string d)
Sintaxis
DayOfWeek(<d>)
Parámetros necesarios
d
: Un objeto de fecha o una cadena de fecha
Descripción
Devuelve el día de la semana de un objeto de fecha o una cadena de fecha, con 0 para el domingo, 1 para el lunes y de 6 para el sábado.
Esta definición es independiente de la configuración regional. Para el nombre del día de la semana, llame a FormatDate
en cambio.
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 necesarios
d
: Un objeto de fecha o una cadena de fechaformat
: Una cadena de formato, especificando el formato de la fecha de salida
Descripción
Convierte un objeto de fecha en una cadena según una cadena de formato. Esto es similar a lo CVTDate
función 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 necesarios
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 necesarios
d
: Un objeto de fecha o una cadena de fechatime_zone_id
: La huso horario desde la que se convertirá, expresada como un código de huso horario
Parámetros opcionales
is_european_format
: Esta bandera opcional determina si se debe utilizar el formato de fecha europeo. Cuando es verdadero, el formato es día y luego mes; cuando es falso, el formato es mes y luego día.
Descripción
Devuelve una cadena de fecha sin información de hora. Convierte un objeto de fecha o una cadena de fecha en una cadena según un código de huso horario.
Advertencia
Si se pasa una fecha con una hora, la GetUTCFormattedDate()
La función trunca la hora antes de convertirla a UTC. Esto significa que las marcas de tiempo posteriores a la medianoche UTC se devolverán como si ocurrieran en la fecha anterior, como se muestra en el ejemplo anterior para la "America/Los_Angeles"
huso horario
Nota
Si está utilizando GetUTCFormattedDate
en conjunto con Now
o Now_
Tenga en cuenta que la huso horario devuelta es la configurada en la máquina en la que se ejecuta el agente. Todos los agentes de la nube están en UTC. Los agentes privados variarán según la máquina específica en la que se ejecute 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 necesarios
d
: Un objeto de fecha o una cadena de fechatime_zone_id
: La huso horario desde la que se convertirá, expresada como un código de huso horario
Parámetros opcionales
is_european_format
: Esta bandera opcional determina si se debe utilizar el formato de fecha europeo. Cuando es verdadero, el formato es día y luego mes; cuando es falso, el formato es mes y luego día.
Descripción
Devuelve una cadena de fecha con información de hora. Convierte un objeto de fecha o una cadena de fecha en una cadena según un código de huso horario.
Nota
Si está utilizando GetUTCFormattedDateTime
en conjunto con Now
o Now_
Tenga en cuenta que la huso horario devuelta es la configurada en la máquina en la que se ejecuta el agente. Todos los agentes de la nube están en UTC. Los agentes privados variarán según la máquina específica en la que se ejecute cada agente. Si 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 necesarios
d
: Un objeto de fecha o una cadena de fecha
Descripción
Devuelve un objeto de fecha que representa el último día del mes para un objeto de fecha o una cadena de fecha.
Ejemplos
LastDayOfMonth(Now());
// If Now() is a day in February of 2000 (a leap year),
// returns "2000-02-29"
LongDate
Declaración
string LongDate(date d)
string LongDate(string d)
Sintaxis
LongDate(<d>)
Parámetros necesarios
d
: Un objeto de fecha o una cadena de fecha
Descripción
Devuelve una cadena en el formato de fecha larga para un objeto de fecha o una cadena de fecha.
Ejemplos
LongDate(Now());
// If Now() is 2017-09-16 11:59:23
// returns "Saturday, September 16, 2017"
LongTime
Declaración
string LongTime(date d)
string LongTime(string d)
Sintaxis
LongTime(<d>)
Parámetros necesarios
d
: Un objeto de fecha o una cadena de fecha
Descripción
Devuelve una cadena en formato de hora larga para un objeto de fecha o una cadena de fecha.
Ejemplos
LongTime(Now());
// If Now() is 2017-09-16 11:59:23
// returns "11:59:23 AM"
MediumDate
Declaración
string MediumDate(date d)
string MediumDate(string d)
Sintaxis
MediumDate(<d>)
Parámetros necesarios
d
: Un objeto de fecha o una cadena de fecha
Descripción
Devuelve una cadena en el formato de fecha medio para un objeto de fecha o una cadena de fecha.
Ejemplos
MediumDate(Now());
// If Now() is 2017-09-16 11:59:23
// returns "16-Sep-17"
MediumTime
Declaración
string MediumTime(date d)
string MediumTime(string d)
Sintaxis
MediumTime(<d>)
Parámetros necesarios
d
: Un objeto de fecha o una cadena de fecha
Descripción
Devuelve una cadena en formato de hora media para un objeto de fecha o una cadena de fecha.
Ejemplos
MediumTime(Now());
// If Now() is 2017-09-16 11:59:23
// returns "11:59 AM"
MonthOfYear
Declaración
int MonthOfYear(date d)
int MonthOfYear(string d)
Sintaxis
MonthOfYear(<d>)
Parámetros necesarios
d
: Un objeto de fecha o una cadena de fecha
Descripción
Devuelve el mes (1-12) de un objeto de fecha o una cadena de fecha.
Ejemplos
MonthOfYear(Now());
// If Now() is 2017-09-16 11:59:23
// returns "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 se trunca.
Nota
Tenga en cuenta que la huso horario de la fecha devuelta es la configurada en la máquina en la que se ejecuta el agente. Todos los agentes de la nube están en UTC. Los agentes privados variarán según la máquina específica en la que se ejecuta 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.
Ejemplos
Now();
// If the current date and time is 11:59:23 AM on September 16, 2017
// returns "2017-09-16 11:59:23"
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. El valor de hora incluye la fracción de segundo (milisegundos).
Nota
Tenga en cuenta que la huso horario de la fecha devuelta es la configurada en la máquina en la que se ejecuta el agente. Todos los agentes de la nube están en UTC. Los agentes privados variarán según la máquina específica en la que se ejecuta 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.
Ejemplos
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"
ShortDate
Declaración
string ShortDate(date d)
string ShortDate(string d)
Sintaxis
ShortDate(<d>)
Parámetros necesarios
d
: Un objeto de fecha o una cadena de fecha
Descripción
Devuelve una cadena en el formato de fecha corta para un objeto de fecha o una cadena de fecha.
Ejemplos
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 necesarios
d
: Un objeto de fecha o una cadena de fecha
Descripción
Devuelve una cadena en formato de hora corta para un objeto de fecha o una cadena de fecha.
Ejemplos
ShortTime(Now());
// If Now() is 2017-09-16 11:59:23
// returns "11:59"