Partager via


DateAdd, DateDiffet TimeZoneOffset fonctions

Functions S’applique à
DateAdd
DateDiff
Les applications Canvas Copilot Studio Desktop circulent des colonnes de formule Dataverse basées sur des modèles d’applications Power Platform CLI Dataverse functions Power Pages
TimeZoneOffset Les applications Canvas Copilot Studio Desktop circulent des applications basées sur des modèles power Platform CLI Dataverse functions Power Pages
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é).