# Funciones de horas

## Contenido

[addMSecondsToHour  <br>](#addmsecondstohour)[addSecondsToHour  <br>](#addsecondstohour)[currentTime  <br>](#currenttime)[hour  <br>](#hour)[mSecond  <br>](#msecond)[minute  <br>](#minute)[second  <br>](#second)[setTime  <br>](#settime)[stringToTime  <br>](#stringtotime)[timeIsValid  <br>](#timeisvalid)[timeToString](#timetostring)

## Horas

Conjunto de [Funciones de fórmula](https://doc.velneo.com/22/velneo-vdevelop/proyectos-objetos-y-editores/editores/asistente-de-formulas) que nos permiten operar con datos de tipo hora.

### addMSecondsToHour

Devuelve la hora incrementada los milisegundos.

#### Sintaxis

addMSecondsToHour(hora, milisegundos)

#### Parámetros

**hora**

Expresión de tipo hora a la que queremos sumar los milisegundos. Esta hora puede ser un literal, una variable, un campo, el retorno de una función, etc.

**milisegundos**

Milisegundos a sumar a la hora

#### Ejemplo

HORA = 13:25:05:121\
`addMSecondsToHour( HORA, 10 )` = 13:25:05:131

### addSecondsToHour

Devuelve la hora incrementada los segundos.

#### Sintaxis

addSecondsToHour(hora, segundos)

#### Parámetros

**hora**

Expresión de tipo hora a la que queremos sumar los segundos. Esta hora puede ser un literal, una variable, un campo, el retorno de una función, etc.

**segundos**

Segundos a sumar a la hora

#### Ejemplo

HORA = 13:25:05:121\
`addSecondsToHour( HORA, 10 )` = 13:25:15:121

### currentTime

Devuelve la hora actual

#### Sintaxis

currentTime()

#### Parámetros

No tiene.

#### Ejemplo

`currentTime()` = 17:08:01

### hour

Devuelve las horas (0 a 23) de la hora

#### Sintaxis

hour(hora)

#### Parámetros

**hora**

Expresión de tipo hora cuyo dato horas queremos obtener. Esta hora puede ser un literal, una variable, un campo, el retorno de una función, etc.

#### Ejemplo

HORA = 20:19:08\
`hour(HORA)` = 20

### mSecond

Devuelve los milisegundos (0 a 999) de la hora.

#### Sintaxis

mSecond(hora)

#### Parámetros

**hora**

Expresión de tipo hora cuyo dato milisegundos queremos obtener. Esta hora puede ser un literal, una variable, un campo, el retorno de una función, etc.

#### Ejemplo

HORA = 20:19:08:111\
`mSecond( HORA )` = 111

### minute

Devuelve los minutos (0 a 59) de la hora

#### Sintaxis

minute(hora)

#### Parámetros

**hora**

Expresión de tipo hora cuyo dato minutos queremos obtener. Esta hora puede ser un literal, una variable, un campo, el retorno de una función, etc.

#### Ejemplo

HORA = 20:19:08:111\
`minute( HORA )` = 19

### second

Devuelve los segundos (0 a 59) de la hora.

#### Sintaxis

second(hora)

#### Parámetros

**hora**

Expresión de tipo hora cuyo dato segundos queremos obtener. Esta hora puede ser un literal, una variable, un campo, el retorno de una función, etc.

#### Ejemplo

HORA = 20:19:08:111\
`second( HORA )` = 8

### setTime

Crea una hora.

#### Sintaxis

setTime(hora, minuto, segundo)

#### Parámetros

**hora**

Dato hora con el que queremos componer la hora.

**minuto**

Dato minuto con el que queremos componer la hora.

**segundo**

Dato segundo con el que queremos componer la hora.

#### Ejemplo

`setTime( 13, 25, 15 )` = 13:25:15

### stringToTime

Convierte en hora una cadena según las indicaciones del formato.

#### Sintaxis

stringToTime(cadena, cadenaFormato)

#### Parámetros

**cadena**

Cadena que contiene la hora.

**cadenaFormato**

Permite indicar cuál es el formato de la hora en la cadena.

**Formato**

**Horas**: h (0-23, 1-12 AM/PM) hh (00-23, 01-12 AM/PM) H (0-23) HH (00-23)\
**Minutos**: m (0-59) mm (00-59)\
**Segundos**: s (0-59) ss (00-59) z (0-999) zzz (000-999)\
**Periodos**: AP (AM/PM) ap (am/pm)

El resto de caracteres en la cadena de formato serán tratados como texto. También los caracteres que estén entre comillas simples (‘) en la cadena de formato serán tratados como texto, lo que nos permite tratar los caracteres específicos de formato (h, hh, H, HH, m, mm, etc.) como texto.

Si la cadena no se corresponde con el formato especificado la devolverá una hora nula, no devolverá nada. Esto puede incluir casos en los que se espere ceros por la izquierda u otras incoherencias con el formato esperado.

### timeIsValid

Indica si la hora es válida (Si=1, No=0).

#### Sintaxis

timeIsValid(hora )

#### Parámetros

**hora**

Expresión de tipo hora que queremos comprobar. Esta hora puede ser un literal, una variable, un campo, el retorno de una función, etc.

#### Ejemplo

HORA = 13:25:05\
`timeIsValid(HORA)` = 1

### timeToString

Devuelve la hora como una cadena según las indicaciones del formato.

#### Sintaxis

timeToString(hora, cadenaFormato)

#### Parámetros

**hora**

Expresión de tipo hora que queremos formatear.

**cadenaFormato**

Cadena de formato que especifica cómo crear la cadena a partir de la hora.

**Formato**

**Horas**: h (0-23, 1-12 AM/PM) hh (00-23, 01-12 AM/PM) H (0-23) HH (00-23)\
**Minutos**: m (0-59) mm (00-59)\
**Segundos**: s (0-59) ss (00-59) z (0-999) zzz (000-999)\
**Periodos**: AP (AM/PM) ap (am/pm)
