Saltar al contenido

Funciones de Fecha y Hora

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 en 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, 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 la 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 se describe aquí no se anulará con la huso horario seleccionada.

Códigos de Huso Horario

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 desplazamiento 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 recomiendan los códigos TZ de nombre completo, si se utiliza una huso horario, ya que "AST" puede referirse a la hora estándar "atlántica" o "árabe".

Conversión de Tiempos UNIX a Fechas

Si una hora UNIX es un número que incluye precisión de milisegundos, puede usar 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 Requeridos

  • date: Una fecha, ya sea como un objeto de fecha o como una cadena de fecha
  • fromTZ: La huso horario desde la que se va a convertir, expresada como código de huso horario
  • toTZ: La huso horario a la que se va a convertir, expresada como código de huso horario

Parámetros Opcionales

  • is_european_format: Esta bandera opcional determina si se utilizará el formato de fecha europeo. Cuando true, el formato es día y luego mes; cuando false, el formato es mes y luego día.

  • ignoreDST: De forma predeterminada, el horario de verano se tiene en cuenta al realizar conversiones entre las cuatro principales husos horarios 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 huso horario a otra huso horario.

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 que ejecuta el agente. Todos los Agentes en 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, toma esto en cuenta si tu 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() returns "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, especificando el formato de la fecha de entrada
  • outputFormat: 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 que ejecuta el agente. Todos los Agentes en 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, toma esto en cuenta si tu 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 p.m. 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 p.m. 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

formato de Cadenas

El formato tanto de la cadena de fecha de entrada como 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 en 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 puede ser usado. 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 (ú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 usando 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 Requeridos

  • datePart: Un código de pieza que describe la parte de la fecha a la que se aplicará la adición a
  • number: Un número entero que se agregará a la parte de la fecha
  • d: El objeto de fecha o una cadena de fecha en 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:

Fecha Parte Código de pieza
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 las versiones del agente 10.83 / 11.21 o anteriores, el DateAdd la función devuelve el valor incorrecto al proporcionar la parte de 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() returns 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());
// Returns 25 if today is December 25

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 el domingo, 1 para el lunes y 6 para el sábado.

Esta definición es independiente de la localidad. Para el nombre del día de la semana, llame 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 Requeridos

  • d: Un objeto de fecha o cadena de fecha
  • format: 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 al 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 Requeridos

  • d: Un objeto de fecha o 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 11:59:23 am on September 16, 2000,
// returns "09/16/2000 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 cadena de fecha
  • time_zone_id: La huso horario desde la que se va a convertir, expresada como código de huso horario

Parámetros Opcionales

  • is_european_format: Esta bandera opcional determina si se 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 pasa una fecha con una hora, el GetUTCFormattedDate() La función trunca la hora antes de convertir 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 el "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 que ejecuta el agente. Todos los Agentes en 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, toma esto en cuenta si tu 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 huso horario desde la que se va a convertir, expresada como código de huso horario

Parámetros Opcionales

  • is_european_format: Esta bandera opcional determina si se 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 que ejecuta el agente. Todos los Agentes en 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, toma esto en cuenta si tu 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 una cadena de fecha.

Ejemplos

LastDayOfMonth(Now());
// If today is in February of a leap year,
// returns the date object of February 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 una cadena de fecha.

Ejemplos

LongDate(Now());
// If Now() is 11:59:23 am on September 16, 2000,
// returns "Saturday, September 16, 2000"

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 formato de tiempo largo para un objeto de fecha o una cadena de fecha.

Ejemplos

LongTime(Now());
// If Now() is 11:59:23 am on September 16, 2000
// returns "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 cadena de fecha

Descripción

Devuelve una cadena en el formato de fecha medio para un objeto de fecha o cadena de fecha.

Ejemplos

MediumDate(Now());
// If Now() is 11:59:23 am on September 16, 2000
// returns "16-Sep-00"

MediumTime

Declaración

string MediumTime(date d)

string MediumTime(string d)

Sintaxis

MediumTime(<d>)

Parámetros Requeridos

  • d: Un objeto de fecha o 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 11:59:23 am on September 16, 2000
// returns "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 cadena de fecha

Descripción

Devuelve el mes (1-12) para un objeto de fecha o una cadena de fecha.

Ejemplos

MonthOfYear(Now());
// If Now() is 11:59:23 am on September 16, 2000
// 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 del segundo se trunca.

Nota

Tenga en cuenta que la huso horario de la fecha devuelta es la configurada en la máquina que ejecuta el agente. Todos los Agentes en 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ás utilizando funciones de conversión, ten esto en cuenta si tu proyecto está diseñado para ejecutarse tanto en la nube como en un Agente Privado.

Ejemplos

Now();
// If Now() is 11:59:23 am on September 16, 2000,
// returns a date object representing 09/16/2000 11:59:23 AM

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 del tiempo 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 que ejecuta el agente. Todos los Agentes en 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ás utilizando funciones de conversión, ten esto en cuenta si tu proyecto está diseñado para ejecutarse tanto en la nube como en un Agente Privado.

Ejemplos

Now_();
// If Now_() is 11:59:23.123 am on September 16, 2000
// returns a date object representing 09/16/2000 11:59:23.123 AM

ShortDate

Declaración

string ShortDate(date d)

string ShortDate(string d)

Sintaxis

ShortDate(<d>)

Parámetros Requeridos

  • d: Un objeto de fecha o cadena de fecha

Descripción

Devuelve una cadena en el formato de fecha corta para un objeto de fecha o cadena de fecha.

Ejemplos

ShortDate(Now());
// If Now() is 11:59:23 am on September 16, 2017
// 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 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 11:59:23 am on September 16, 2017
// returns "11:59"