4D v13.4Operadores de Hora |
||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v13.4
Operadores de Hora
|
Operação | Sintaxe | Devolve | Expressão | Valor |
Adição | Hora+ Hora | Hora | ?02:03:04? + ?01:02:03? | ?03:05:07? |
Subtração | Hora– Hora | Hora | ?02:03:04? – ?01:02:03? | ?01:01:01? |
Adição | Hora + Número | Número | ?02:03:04? + 65 | 7449 |
Subtração | Hora – Número | Número | ?02:03:04? – 65 | 7319 |
Multiplicação | Hora * Número | Número | ?02:03:04? * 2 | 14768 |
Divisão | Hora / Número | Número | ?02:03:04? / 2 | 3692 |
Divisão inteira | Hora \ Número | Número | ?02:03:04? \ 2 | 3692 |
Módulo | Hora % Hora | Hora | ?20:10:00? % ?04:20:00? | ?02:50:00? |
Módulo | Hora % Número | Número | ?02:03:04? % 2 | 0 |
Para obter uma expressão de tipo hora a partir de uma expressão que combina uma hora com um dígito, utilize os comandos Time e Time string. Por exemplo:
` A seguinte linha atribui a variável $vlSegundos ou número de segundos que passarão
` entre a meia noite e uma hora a partir de agora
$vlSegundos :=Current time+3600
` a linha seguinte atribui a $vHPronto a hora que será em uma hora
$vHPronto :=Time(Time string(Current time+3600))
A segunda linha pode ser escrita de uma maneira mais simples:
` A linha seguinte atribui a $vHPronto a hora que será em uma hora
$vHPronto :=Current time+?01:00:00?
Entretanto, enquanto desenvolve sua aplicação, poderia ser encontrado com situações onde um tempo, expresso em segundos deve ser adicionado a um valor em horas disponível como valor numérico.
Algumas situações poderiam requerer que você converta uma expressão de tempo em uma expressão numérica.
Por exemplo, você abre um documento utilizando Open document, o qual devolve um número de referência de documento (DocRef) que é uma expressão de tipo hora. Mais adiante, você quer passar DocRef a uma rotina de plug-in 4D que espera um valor numérico como número de referência de documento. Em tal caso, utilize a adição com 0 (zero) para obter um valor numérico de um valor de hora, mas sem mudar seu valor. Por exemplo:
` Selecionar e abrir um documento
$vhDocRef:=Open document("")
If(OK=1)
` Passe a expressão hora DocRef como uma expressão numérica para uma rotina de extensão 4D
DO SOMETHING SPECIAL(0+$vhDocRef)
End if
O operador Módulo permite adicionar horas levando em conta o formato 24 horas de um dia:
$t1:=?23:00:00? // São as 23:00 p.m.
// Queremos adicionar 2 horas e meia
$t2:=$t1 +?02:30:00? // Com uma adição simples, $t2 é ?25:30:00?
$t2:=($t1 +?02:30:00?)%?24:00:00? // $t2 é ?01:30:00? e são as 1:30 a.m. do seguinte dia
Produto: 4D
Tema: Operadores
Operadores
Operadores de bit
Operadores de Cadeia
Operadores de Comparação
Operadores de data
Operadores de Imagem
Operadores Lógicos
Operadores Numéricos