Aller au contenu principal
Version : 18

Time

  • Les variables, champs ou expressions de type Heure (Time) peuvent être compris entre 00:00:00 et 596 000:00:00.
  • Les heures sont stockées dans un format de 24 heures.
  • Une valeur de type Heure peut être utilisée en tant que numérique. Le nombre correspondant est le nombre de secondes que cette valeur représente à partir de minuit (00:00:00).

Note : Dans ce manuel de référence du langage 4D, les paramètres de type Heure dans les descriptions des commandes sont appelés Heure, sauf spécification explicite.

Constantes littérales de type heure​

Une constante heure est incluse entre deux points d’interrogation (?...?).

Avec une version française de 4D, une heure est structurée sous la forme heure:minute:seconde, deux points (:) séparant les valeurs. Les heures sont stockées dans un format de 24 heures.

Voici quelques exemples de constantes littérales de type heure :

?00:00:00? // minuit
?09:30:00? // 9:30 du matin
?13:01:59? // 13 heures, 1 minute et 59 secondes

Une heure nulle s’écrit ?00:00:00?

Astuce : L'éditeur de méthodes dispose d'un raccourci pour saisir une heure nulle. Pour cela, tapez un point d'interrogation (?) et appuyez sur la touche Entrée.

Opérateurs sur les heures​

OpérationSyntaxeRetourneExpressionValeur
AdditionHeure + HeureTime?02:03:04? + ?01:02:03??03:05:07?
SoustractionHeure – HeureTime?02:03:04? – ?01:02:03??01:01:01?
AdditionHeure + NombreNumber?02:03:04? + 657449
SoustractionHeure – NombreNumber?02:03:04? – 657319
MultiplicationHeure * NombreNumber?02:03:04? * 214768
DivisionHeure / NombreNumber?02:03:04? / 23692
Division entièreHeure \ NombreNumber?02:03:04? \ 23692
ModuloHeure % HeureTime?20:10:00? % ?04:20:00??02:50:00?
ModuloHeure % NombreNumber?02:03:04? % 20
EgalitéHeure = HeureBoolean?01:02:03? = ?01:02:03?True
?01:02:03? = ?01:02:04?False
InégalitéHeure # HeureBoolean?01:02:03? # ?01:02:04?True
?01:02:03? # ?01:02:03?False
Supérieur àHeure > HeureBoolean?01:02:04? > ?01:02:03?True
?01:02:03? > ?01:02:03?False
Inférieur àHeure < HeureBoolean?01:02:03? < ?01:02:04?True
?01:02:03? < ?01:02:03?False
Supérieur ou égal àHeure >= HeureBoolean?01:02:03? >=?01:02:03?True
?01:02:03? >=?01:02:04?False
Inférieur ou égal àHeure <= HeureBoolean?01:02:03? <=?01:02:03?True
?01:02:04? <=?01:02:03?False

Exemple 1​

Vous pouvez combiner des expressions de type heure et de type numérique à l'aide des fonctions Time et Time string.

Vous pouvez combiner des expressions Time et Number à l'aide des fonctions Time ou Current time:

// La ligne suivante assigne à la variable $vlSecondes le nombre de secondes qui, dans une heure à partir de maintenant, se seront écoulées depuis minuit
$vlSeconds:=Current time+3600
// La ligne suivante assigne à la variable $vhBientôt l'heure qu'il sera dans une heure
$vhSoon:=Time(Current time+3600)

La seconde ligne peut également être écrite de la façon suivante :

// La ligne suivante assigne à la variable $vhBientôt l'heure qu'il sera dans une heure
$vhSoon:=Current time+?01:00:00?

Exemple 2​

L'opérateur Modulo permet notamment d'ajouter des heures en tenant compte du format sur 24 heures d'une journée :

$t1:=?23:00:00? // Il est 23 heures.
//On souhaite ajouter 2 heures 30
$t2:=$t1 +?02:30:00? // avec une addition simple, $t2 vaut ?25:30:00?
$t2:=($t1 +?02:30:00?)%?24:00:00? // $t2 vaut ?01:30:00? et il est 1h 30 du matin le matin suivant le matin suivant le matin suivant le matin suivant le matin suivant