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 fonction DateAdd 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 fonction DateDiff retourne la différence entre deux valeurs de date/heure. Le résultat est un nombre d’unités.

Pour les deux fonctions, les unités peuvent être Millisecondes, Secondes, Minutes, Heures, Jours, Mois, Trimestres ou Années. Par défaut, les deux fonctions utilisent les jours (Days) en tant qu’unités.

La fonction TimeZoneOffset retourne le nombre de minutes entre l’heure locale et l’heure UTC (temps universel coordonné) de l’utilisateur.

Vous pouvez utiliser DateAdd avec TimeZoneOffset pour opérer une conversion entre l’heure locale et l’heure UTC (temps universel coordonné) de l’utilisateur. L’ajout de TimeZoneOffset convertit une heure locale en heure UTC, et sa soustraction (en ajoutant la valeur négative) convertit une heure UTC en heure locale.

Pour plus d’informations, consultez également Utilisation des dates et heures.

Syntaxe

DateAdd( DateTime, Addition [, Units ] )

  • DateTime - Requis. Valeur de date/heure à utiliser.
  • Addition - Requis. Nombre, exprimé en Unités, à ajouter à la valeur DateTime.
  • Units - Facultatif. Type d’Unités à ajouter : Millisecondes, Secondes, Minutes, Heures, Jours, Mois, Trimestres ou Années. Si les unités ne sont pas spécifiées, l’unité Days est utilisée.

DateDiff( StartDateTime, EndDateTime [, Units ] )

  • StartDateTime - Requis. Valeur de date/heure de début.
  • EndDateTime - Requis. Valeur de date/heure de fin.
  • Units - Facultatif. Type d’Unités à ajouter : Millisecondes, Secondes, Minutes, Heures, Jours, Mois, Trimestres ou Années. Si les unités ne sont pas spécifiées, l’unité Days est utilisée.

TimeZoneOffset( [ DateTime ] )

  • DateTime : 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.

DateAdd simple

Formule Description Résultat
Text( DateAdd( Now(), 3 ),
"jj-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, Hours ),
"jj-mm-aaaa hh:mm" )
Ajoute quatre heures à la valeur de date/heure actuelle. « 15-07-2013 17:02 »
Text( DateAdd( Today(), 1, Months ),
"jj-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, Minutes ),
"jj-mm-aaaa hh:mm" )
Soustrait 30 minutes de la valeur de date/heure actuelle. « 15-07-2013 12:32 »

DateDiff simple

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 Jours 170
DateDiff( Now(), DateValue("1/1/2014"), Months ) Retourne la différence entre les deux valeurs de Mois 6
DateDiff( Now(), Today(), 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

Conversion en heure UTC

Pour convertir au format UTC (temps universel coordonné), ajoutez la valeur TimeZoneOffset pour l’heure indiqué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(), Minutes )

TimeZoneOffset indiquant par défaut l’heure actuelle, vous n’avez pas besoin de le passer en tant qu’argument.

Pour afficher le résultat, utilisez la fonction Texte avec le format jj-mm-aaaa hh:mm, qui retournera 15-07-2013 20:02.

Conversion de l’heure UTC

Pour convertir l’heure UTC, soustrayez TimeZoneOffset (en ajoutant le signe négatif) de l’heure indiqué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 ), Minutes )

Notez le signe négatif devant TimeZoneOffset, qui indique de soustraire le décalage au lieu de l’ajouter.

Pour afficher le résultat, utilisez la fonction Text avec le format jj-mm-aaaa hh:mm, qui retourne 15-07-2013 13:02 si vous êtes dans le fuseau horaire Pacifique (heure d’été).