Saltar al contenido

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

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 fecha
  • fromTZ: La zona horaria de la que se va a convertir, expresada como un código de zona horaria
  • toTZ: 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 es true, el formato es día y luego mes; cuando es false, 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 en true para 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ón
  • number: Un número entero que se sumará a la parte de la fecha
  • d: 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 fecha
  • format: 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 es true, el formato es día y luego mes; cuando es false, 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 es true, el formato es día y luego mes; cuando es false, 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"