4D v13.4

Operadores de Hora

Página Inicial

 
4D v13.4
Operadores de Hora

Operadores de Hora  


 

 

Uma expressão que utiliza um operador de horas devolve uma hora ou um número, dependendo da operação. A seguinte tabela mostra os operadores de horas:

OperaçãoSintaxeDevolveExpressãoValor
AdiçãoHora+ HoraHora?02:03:04? + ?01:02:03??03:05:07?
SubtraçãoHora– HoraHora?02:03:04? – ?01:02:03??01:01:01?
AdiçãoHora + NúmeroNúmero?02:03:04? + 657449
SubtraçãoHora – NúmeroNúmero?02:03:04? – 657319
MultiplicaçãoHora * NúmeroNúmero?02:03:04? * 214768
DivisãoHora / NúmeroNúmero?02:03:04? / 23692
Divisão inteiraHora \ NúmeroNúmero?02:03:04? \ 23692
MóduloHora % HoraHora?20:10:00? % ?04:20:00??02:50:00?
MóduloHora % NúmeroNúmero?02:03:04? % 20

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

 
PROPRIEDADES 

Produto: 4D
Tema: Operadores

 
VER TAMBÉM 

Operadores
Operadores de bit
Operadores de Cadeia
Operadores de Comparação
Operadores de data
Operadores de Imagem
Operadores Lógicos
Operadores Numéricos