Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
| Functions | S’applique à |
|---|---|
| DateAdd DateDiff |
|
| TimeZoneOffset |
|
| Function | S’applique à |
|---|---|
| DateAdd | |
| DateDiff | |
| TimeZoneOffset |
Modifie une valeur de date/heure ou détermine la différence entre des valeurs de date/heure, et opère la conversion entre l’heure locale et l’heure UTC.
Description
La DateAdd fonction ajoute un nombre d’unités à une valeur de date/heure. Le résultat est une nouvelle valeur de date/heure. Vous pouvez également soustraire un nombre d’unités d’une valeur de date/heure en spécifiant une valeur négative.
La DateDiff fonction retourne la différence entre deux valeurs de date/heure. Le résultat est un nombre entier d’unités.
Pour les deux fonctions, les unités peuvent être TimeUnit.Milliseconds, TimeUnit.Seconds, TimeUnit.Minutes, TimeUnit.Hours, TimeUnit.Days, TimeUnit.Months, TimeUnit.Quarters ou TimeUnit.Years. Par défaut, les deux fonctions utilisent TimeUnit.Days en tant qu’unités.
La TimeZoneOffset fonction retourne le nombre de minutes entre l’heure locale de l’utilisateur et l’heure UTC (temps universel coordonné).
Vous pouvez utiliser DateAdd avec la TimeZoneOffset conversion entre l’heure locale de l’utilisateur et l’heure UTC (temps universel coordonné). L’ajout TimeZoneOffset convertit une heure locale en heure UTC et la soustraction (ajout de la valeur négative) convertit l’heure UTC en heure locale.
Consultez également Types de données Date, Time et DateTime et Utilisation des dates et des heures pour plus d’informations.
Syntaxe
DateAdd( DateTime, Addition [, Units ] )
- DateTime - Obligatoire. Valeur de date/heure à utiliser.
- Ajout - Obligatoire. Nombre, exprimé en Unités, à ajouter à la valeur DateTime.
- Unités - Facultatif. Le type d’Unités à ajouter : TimeUnit.Milliseconds, TimeUnit.Seconds, TimeUnit.Minutes, TimeUnit.Hours, TimeUnit.Days, TimeUnit.Months, TimeUnit.Quarters ou TimeUnit.Years. Si les unités ne sont pas spécifiées, TimeUnit.Days est utilisée.
DateDiff( StartDateTime, EndDateTime [, Units ] )
- StartDateTime - Obligatoire. Valeur de date/heure de début.
- EndDateTime - Obligatoire. Valeur de date/heure de fin.
- Unités - Facultatif. Le type d’Unités à retirer : TimeUnit.Milliseconds, TimeUnit.Seconds, TimeUnit.Minutes, TimeUnit.Hours, TimeUnit.Days, TimeUnit.Months, TimeUnit.Quarters ou TimeUnit.Years. Si les unités ne sont pas spécifiées, TimeUnit.Days est utilisée.
TimeZoneOffset( [ DateTime ] )
- DateHeure - Facultatif. Valeur de date/heure pour laquelle retourner le décalage. Par défaut, la date/heure actuelle est utilisée.
Exemples
Dans tous ces exemples, supposons que la date et l’heure sont 15 juillet 2013, 13:02.
Simple DateAdd
| Formule | Description | Résultat |
|---|---|---|
|
Text( DateAdd( Now(), 3 ), «dd-mm-aaaa hh :mm » ) |
Ajoute trois jours (unités par défaut) à la valeur de date/heure actuelle. | "18-07-2013 13:02" |
|
Text( DateAdd( Now(), 4, TimeUnit.Hours ), «dd-mm-aaaa hh :mm » ) |
Ajoute quatre heures à la valeur de date/heure actuelle. | "15-07-2013 17:02" |
|
Text( DateAdd( Today(), 1, TimeUnit.Months ), «dd-mm-aaaa hh :mm » ) |
Ajoute un mois à la date actuelle, sans l’heure, car Today ne renvoie pas de composant d’heure. | "15-08-2013 00:00" |
|
Text( DateAdd( Now(), -30, TimeUnit.Minutes ), «dd-mm-aaaa hh :mm » ) |
Soustrait 30 minutes de la valeur de date/heure actuelle. | "15-07-2013 12:32" |
Simple DateDiff
| Formule | Description | Résultat |
|---|---|---|
| DateDiff( Now(), DateValue(« 1/1/2014 ») ) | Retourne la différence entre les deux unités, exprimée en unités par défaut de TimeUnit.Days | 170 |
| DateDiff( Now(), DateValue(« 1/1/2014 »), TimeUnit.Months ) | Retourne la différence entre les deux valeurs de TimeUnit.Months | 6 |
| DateDiff( Now(), Today(), TimeUnit.Minutes ) | Retourne la différence entre la date/heure actuelle et la date actuelle (sans heure) en minutes. Étant donné que la valeur Now est postérieure à la valeur Today, le résultat est négatif. | -782 |
Différence de dates avec des résultats fractionnaires
La fonction DateDiff retourne uniquement un nombre entier d’unités soustractées, et la précision est donnée dans l’unité spécifiée. Pour calculer la différence avec une précision plus élevée, utilisez une unité plus petite et convertissez le résultat de manière appropriée, comme dans les exemples ci-dessous.
| Formule | Description | Résultat |
|---|---|---|
| DateDiff( TimeValue(« 09:45:00 »), TimeValue(« 10:15:36 »), TimeUnit.Hours ) | Les minutes/secondes sont ignorées, la différence est basée sur le temps jusqu’à l’heure. | 1 |
| DateDiff( TimeValue(« 09:45:00 »), TimeValue(« 10:15:36 »), TimeUnit.Minutes )/60 | Les minutes sont utilisées dans la différence et le résultat est divisé par 60 pour avoir la différence en heures. | 0.5 |
| DateDiff( TimeValue(« 09:45:00 »), TimeValue(« 10:15:36 »), TimeUnit.Seconds )/3600 | Les minutes et les secondes sont utilisées dans la différence et le résultat est divisé par 3600 pour avoir la différence en heures. | 0.51 |
Conversion en heure UTC
Pour effectuer une conversion en heure UTC (temps universel coordonné), ajoutez la TimeZoneOffset valeur pour l’heure donnée.
Par exemple, imaginez que la valeur de date/heure soit 15 juillet 2013, 13:02 en heure d’été du Pacifique (UTC-7). Pour déterminer l’heure en heure UTC, utilisez la formule :
- DateAdd( Now(), TimeZoneOffset(), TimeUnit.Minutes )
TimeZoneOffset est défini par défaut sur l’heure actuelle. Vous n’avez donc pas besoin de le transmettre à un argument.
Pour afficher le résultat, utilisez la fonction Text avec le format dd-mm-yyyy hh:mm, qui retournera 15-07-2013 20:02.
Conversion de l’heure UTC
Pour effectuer une conversion à partir d’UTC, soustraitz le TimeZoneOffset (en ajoutant le négatif) pour l’heure donnée.
Par exemple, imaginez que la valeur de date/heure UTC 15 juillet 2013, 20:02 est stockée dans une variable nommée StartTime. Pour régler l’heure en fonction du fuseau horaire de l’utilisateur, utilisez la formule :
- DateAdd( StartTime, −TimeZoneOffset( StartTime ), TimeUnit.Minutes )
Notez le signe négatif avant TimeZoneOffset de soustraire le décalage plutôt que de l’ajouter.
Pour afficher le résultat, utilisez la fonction Text avec le format dd-mm-yyyy hh:mm, qui retourne 15-07-2013 13:02 si vous êtes dans le fuseau horaire Pacifique (heure d’été).