En los sistemas operativos similares a Unix, el tiempo se representa como un desplazamiento en segundos desde la medianoche (UTC) del 1 de enero de 1970 (llamada la época). Este tipo de representación, además de ser compacta, es independiente de las zonas horarias y, por lo tanto, es directamente comparable incluso entre sistemas ubicados en diferentes posiciones geográficas.
Nota: Las funciones operan en valores de Fecha/Hora con un rango alto pero es necesario consultar el reloj de tiempo real presente en el sistema para el valor admitido.
SysDateGetS, obtenga la fecha del sistema en segundo lugar
Esta función devuelve la fecha del sistema en UTC expresada en segundos en una variable de 32 bits. El rango manejado es desde las 00:00:00 del 1 de enero de 1970 hasta las 06:28:15 del 7 de febrero de 2106.
Funzione
CÓDIGOS: indisponible
Laboratorio lógico: eLLabXUnified12Lib
Descripción
La función devuelve una variable (UDINT) con la fecha del sistema en UTC.
SysDateGetNs, obtenga la fecha del sistema en ns
Esta función devuelve la fecha del sistema en UTC expresada en ns en una variable de 64 bits. El rango administrado es desde las 00:00:00 del 1 de enero de 1970 hasta las 23:34: 33.709 del 21 de julio de 2554.
Funzione
CÓDIGOS: indisponible
Laboratorio lógico: eLLabXUnified12Lib
Descripción
La función devuelve una variable (ULINT) con fecha del sistema en UTC.
SysDateSetS, establezca la fecha del sistema en el segundo
Esta función establece la fecha del sistema en UTC expresada en segundos en una variable de 32 bits. El rango manejado es desde las 00:00:00 del 1 de enero de 1970 hasta las 06:28:15 del 7 de febrero de 2106.
Reemplaza "SysSetUTCDateTime"
Reemplaza la función SysSetUTCDateTime cuyo uso está en desuso.
Funzione
CÓDIGOS: indisponible
Laboratorio lógico: eLLabXUnified12Lib
Descripción
UTCDateTime (UDINT) Valor de fecha del sistema en UTC expresado en segundos.
La función devuelve una variable (BOOL) FALSE: error de ejecución, TRUE: Ok ejecución.
Ejemplos
Cómo utilizar los ejemplos..
En el siguiente ejemplo, el valor devuelto por la función se guarda en una variable.
Laboratorio lógico (Ptp116, ST_DateTimeFunctions)
PROGRAM ST_DateTimeFunctions
VAR
i : UDINT; (* Auxiliary variable *)
DTime : DATE_AND_TIME; (* Date/Time *)
LDTime : LDATE_AND_TIME; (* Date/Time *)
LDTS : ARRAY[0..1] OF LDATETIMESTRUCT; (* Long Date/Time struct *)
END_VAR
// *****************************************************************************
// PROGRAM "ST_DateTimeFunctions"
// *****************************************************************************
// Use of date functions.
// -----------------------------------------------------------------------------
// -------------------------------------------------------------------------
// 32 BITS DATE FUNCTIONS
// -------------------------------------------------------------------------
// The "SysDateGetS" function returns a value in the range
// From 1970-01-01-00:00:00 to 2106-02-07-06:28:15
// After conversion in DATE_AND_TIME the range will be
// From 1970-01-01-00:00:00 to 2038-01-19-03:14:07
DTime:=TO_DATE_AND_TIME(SysDateGetS());
i:=SPLIT_DT(TO_DATE_AND_TIME(SysDateGetS()), ADR(LDTS[0].Year), ADR(LDTS[0].Month), ADR(LDTS[0].Day), ADR(LDTS[0].Hours), ADR(LDTS[0].Minutes), ADR(LDTS[0].Seconds));
// -------------------------------------------------------------------------
// 64 BITS DATE FUNCTIONS
// -------------------------------------------------------------------------
// The "SysDateGetNs" function returns a value in the range
// From 1970-01-01-00:00:00 to 2554-07-21-03:23:34:33.709
// After conversion in LDATE_AND_TIME the range will be
// From 1970-01-01-00:00:00 to 2262-04-11-23:47:16.854
LDTime:=TO_LDATE_AND_TIME(SysDateGetNs());
i:=SPLIT_LDT(TO_LDATE_AND_TIME(SysDateGetNs()), ADR(LDTS[1].Year), ADR(LDTS[1].Month), ADR(LDTS[1].Day), ADR(LDTS[1].Hours), ADR(LDTS[1].Minutes), ADR(LDTS[1].Seconds), ADR(LDTS[1].Milliseconds), ADR(LDTS[1].Microseconds), ADR(LDTS[1].Nanoseconds));
// [End of file]