Funciones de fecha y hora

Nota sobre «Marcas de Tiempo»

Las marcas de tiempo se refieren a valores que se pueden comparar entre sí, hacer cálculos de intervalo de tiempo, etc. Pero su valor no corresponde fácilmente a segundos, días o cualquier otro valor significativo. Para obtener un valor significativo de estas «marcas de tiempo», debe utilizar las operaciones de conversión de cadenas (AtoTs y TsToA).

Para obtener los valores de tiempo actuales, puede utilizar el siguiente código:

Long Year, Month, Day, Hour, Minute, Second
string Date, Time

Date := GetDateStr //Formatted as «DD.MM.YYYY»
Time := TimeStr(GetTime) //Formatted as «hh:mm:ss»

Year := StrToL(Substr(Date, 0,2))
Month := StrToL(Substr(Date, 3,2))
Day := StrToL(Substr(Date, 6,4))
Hour := StrToL(Substr(Time, 0,2))
Minute := StrToL(Substr(Time, 3,2))
Second := StrToL(Substr(Time, 6,2))

AToT

Declaracióndoble AToTs(cadena s)
FunciónDevuelve la marca de tiempo de la hora especificada.
Ejemplodoble ts
ts := AToTs(’12:00:00, 01.01.2000′)

GetDateStr

Declaracióncadena GetDateStr
FunciónLa función devuelve una cadena con la fecha actual del sistema en el formato “TT.MM.AAAA”.
Ejemplocadena d
d := getdatestr

GetNow

Declaracióndoble GetNow
FunciónDevuelve la marca de tiempo de la hora actual.
Ejemplodoble ts
ts := GetNow

Gettime

Declaraciónlargo GetTime
FunciónLa función devuelve los segundos desde la medianoche para la hora actual.
Ejemplolargo s
s := Gettime

LocalTimeToUTC

Declaracióndoble LocalTimeToUTC(doble dftLocalTime)
FunciónConvierte la marca de tiempo especificada dftLocalTime de hora local a hora UTC.
Ejemplodoble dftUtcTime
dftUtcTime := LocalTimeToUTC(GetNow) 

Settime

¡ADVERTENCIA! Esta función no funciona a menos que la HMI se esté ejecutando con privilegios elevados de Windows. NO recomendamos ejecutar la HMI con privilegios elevados

DeclaraciónSetTime (día largo, mes largo, año largo, hora larga, minuto largo, segundo largo)
FunciónEstablece la hora actual.
EjemploSettime(31, 12, 2000, 23, 59, 00)

TimeStr

Declaracióncadena TimeStr (segundos largos)
FunciónLa función calcula la hora a partir del valor segundos (segundos desde la medianoche) y devuelve una cadena en formato de hora (hh:mm:ss).
Ejemplocadena t
t := timestr(36000)

TsToA

Declaracióncadena TsToA(doble ts)
FunciónDevuelve la hora como una cadena de la marca de tiempo especificada.
Ejemplocadena s
s := TsToA(GetNow)

UTCToLocalTime

Declaracióndoble UTCToLocalTimeToUTC(doble dftUtcTime)
FunciónConvierte la marca de tiempo especificada dftUtcTime de hora UTC a hora local.
Ejemplodoble dftLocalTime
dftLocalTime := UTCToLocalTime(GetNow) 

WeekDay

Declaraciónlargo WeekDay(cadena fecha)
FunciónLa función se calcula a partir de la cadena fecha (TT.MM.AAAA) y devuelve un valor entre 0 (domingo) y 6 (sábado)
Ejemplolargo w
w := WeekDay(31.01.1996)

WeekOfYear

Declaraciónsemana larga del año (doble dftTimeStamp, formato n largo)
FunciónLa función calcula la semana del calendario correspondiente a partir de la marca de tiempo dftTimeStamp. Si se especifica el formato 0, el cálculo se realiza según la norma DIN 1366. Si se especifica el formato 1, el cálculo se basa en el esquema del Reino Unido/EE. UU.
Ejemplolargo nSemana 
nSemana := WeekOfYear(ObtenerAhora, 0)