Applies ToAccess pour Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Renvoie une donnée de type Variante (Long) indiquant le nombre d’intervalles de temps entre les deux dates spécifiées.

Syntaxe

DateDiff ( interval, date1, date2 [, firstdayofweek] [, firstweekofyear] )

La syntaxe de la fonction DateDiff contient les arguments suivants :

Argument

Description

intervalle

Obligatoire. Expression de chaîne qui est l’intervalle de temps que vous utilisez pour calculer la différence entre date1 et date2.

date1, date2

Obligatoire. Variant (Date). Deux dates que vous voulez utiliser pour le calcul.

premierjoursem

Facultatif. constante qui spécifie le premier jour de la semaine. Dimanche est le jour par défaut.

premièresem

Facultatif. Constante qui spécifie la première semaine de l’année. Si celle-ci n’est pas spécifiée, la semaine où intervient le 1er janvier sera utilisée par défaut.

Paramètres

L’intervalle argument a les paramètres suivants :

Paramètre

Description

aaaa

Année

q

Trimestre

m

Mois

a

Jour de l’année

j

Jour

w

Weekday

ss

Semaine

h

Heure

n

Minute

s

Seconde

L’argument firstdayofweek contient les paramètres suivants :

Constante

Valeur

Description

vbUseSystem

0

Utilisez le paramètre d’API NLS.

vbSunday

1

Dimanche (valeur par défaut)

vbMonday

2

Lundi

vbTuesday

3

Mardi

vbWednesday

4

Mercredi

vbThursday

5

Jeudi

vbFriday

6

Vendredi

vbSaturday

7

Samedi

Constante

Valeur

Description

vbUseSystem

0

Utilisez le paramètre d’API NLS.

vbFirstJan1

1

Commencez par la semaine au cours de laquelle le 1er janvier se produit (valeur par défaut).

vbFirstFourDays

2

Commencez par la première semaine qui a au moins quatre jours dans la nouvelle année.

vbFirstFullWeek

3

Commencez par la première semaine complète de l’année.

Remarques

Vous pouvez utiliser la fonction DateDiff pour déterminer le nombre d’intervalles de temps spécifiés entre deux dates. Par exemple, vous pouvez utiliser DateDiff pour calculer le nombre de jours entre deux dates ou le nombre de semaines entre aujourd’hui et la fin de l’année.

Pour calculer le nombre de jours entre date1 et date2, vous pouvez utiliser jour de l’année (« y ») ou jour (« d »). Lorsque interval a la valeur Weekday (« w »), DateDiff renvoie le nombre de semaines entre les deux dates. Si date1 tombe un lundi, DateDiff compte le nombre de lundis jusqu’à date2. Il compte date2 , mais pas date1. Toutefois, si interval a la valeur Week (« ww »), la fonction DateDiff renvoie le nombre de semaines calendaires entre les deux dates. Il compte le nombre de dimanches entre date1 et date2. DateDiff compte date2 si elle tombe un dimanche ; mais il ne compte pas date1, même s’il tombe un dimanche.

Si date1 fait référence à un point dans le temps ultérieur à date2, la fonction DateDiff retourne un nombre négatif.

L’argument firstdayofweek affecte les calculs qui utilisent les symboles d’intervalle « w » et « ww ».

Si date1 ou date2 est une symbole littéral représentant une date, l’année spécifiée devient une partie permanente de cette date. Toutefois, si date1 ou date2 est placé entre guillemets doubles (« »), et que vous omettez l’année, l’année en cours est insérée dans votre code chaque fois que l’expression date1 ou date2 est évaluée. Cela permet d’écrire du code qui peut être utilisé dans différentes années.

Lorsque vous comparez le 31 décembre au 1er janvier de l’année qui suit immédiatement, DateDiff pour Year (« aaaa ») renvoie 1, même si un seul jour s’est écoulé.

Remarque :  Pour date1 et date2, si la propriété Calendrier est définie sur Grégorien, la date fournie doit être grégorienne. Si le calendrier est Hijri, la date fournie doit être Hijri.

Exemples de requête DateDiff

Expression

Résultats

SELECT DateDiff(« yyyyy »,#01/01/2010#,[DateofSale]) AS Expr1 FROM ProductSales ;

Renvoie la différence entre Date2 et Date1 (considérez Date1 comme la plus ancienne et Date2 comme la plus récente) comme nombre d’années. Résultat : Différence entre les valeurs du champ « DateofSale » et la date « 01/01/2010 » comme nombre d’années.

SELECT DateDiff(« q »,[DateofSale],Date()) AS DaysSinceSale FROM ProductSales ;

Retourne la différence entre la date système et « DateofSale » en tant que nombre de « Trimestres » (basé sur l’année calendaires) et s’affiche dans la colonne « DaysSinceSale ». retourne la différence entre la date système et « DateofSale » comme nombre de « Months » et s’affiche dans la colonne « DaysSinceSale ».

SELECT DateDiff(« y »,[DateofSale],Date()) AS DaysSinceSale FROM ProductSales ;

Retourne la différence entre la date système et « DateofSale » en tant que nombre de « Jours » et s’affiche dans la colonne « DaysSinceSale ».

SELECT DateDiff(« d »,[DateofSale],Date()) AS DaysSinceSale FROM ProductSales ;

Retourne la différence entre la date système et « DateofSale » en tant que nombre de « Jours » et s’affiche dans la colonne « DaysSinceSale ».

SELECT DateDiff(« w »,[DateofSale],Date()) AS DaysSinceSale FROM ProductSales ;

Retourne la différence entre la date système et « DateofSale » comme nombre de « Weekdays » et s’affiche dans la colonne « DaysSinceSale ». Si « DateofSale » tombe un lundi, DateDiff compte le nombre de lundis jusqu’à la date système. Il compte la date système, mais pas la valeur dans « DateofSale ».

SELECT DateDiff(« ww »,[DateofSale],Date()) AS DaysSinceSale FROM ProductSales ;

Retourne la différence entre la date système et « DateofSale » en tant que nombre de « Semaines calender » et s’affiche dans la colonne « DaysSinceSale ». Il compte le nombre de dimanches entre « DateofSale » et « date système ». Il comptera la date du système si elle tombe un dimanche ; mais il ne compte pas « DateofSale », même s’il tombe un dimanche.

SELECT DateDiff(« h »,[DateTime],Date()) AS DaysSinceSale FROM ProductSales ;

Retourne la différence entre la date système et « DateTime » comme nombre d’heures et s’affiche dans la colonne « DaysSinceSale ».

SELECT DateDiff(« n »,[DateTime],Date()) AS DaysSinceSale FROM ProductSales ;

Retourne la différence entre la date système et « DateTime » comme nombre de « Minutes » et s’affiche dans la colonne « DaysSinceSale ».

SELECT DateDiff(« s »,[DateTime],Date()) AS DaysSinceSale FROM ProductSales ;

Retourne la différence entre la date système et « DateTime » comme nombre de « secondes » et s’affiche dans la colonne « DaysSinceSale ».

Exemple d’expression

Utiliser la fonction DateDiff dans une expression     Vous pouvez utiliser la fonction DateDiff partout où vous pouvez utiliser des expressions. Par exemple, supposons que vous ayez un formulaire que vous utilisez pour traiter les commandes des clients. Dans la table Commandes, vous avez un champ nommé ReceiveBefore qui contient la date à laquelle le client doit recevoir la commande. Vous pouvez utiliser la fonction DateDiff avec une zone de texte sur le formulaire pour afficher le nombre de jours restants avant l’expédition de la commande.

En supposant que l’expédition d’une commande prend dix jours, vous définissez la propriété Source de contrôle de la zone de texte comme suit :

=DateDiff(« d », Now(), [Orders].[ ReceiveBefore])-10

Lorsque vous ouvrez le formulaire en mode Formulaire, la zone de texte affiche le nombre de jours restant avant l’expédition de la commande. S’il reste moins de 10 jours avant que le client ait besoin de recevoir la commande, le numéro dans la zone de texte est négatif et indique le nombre de jours de retard de la commande si elle est expédiée immédiatement.

Exemple VBA

Utiliser la fonction DateDiff dans le code VBA    

Cet exemple utilise la fonction DateDiff pour afficher le nombre de jours entre une date donnée et aujourd’hui.

Dim TheDate As Date    ' Declare variables.Dim MsgTheDate = InputBox("Enter a date")Msg = "Days from today: " & DateDiff("d", Now, TheDate)MsgBox Msg

Voir aussi

Choisir la fonction de date correcte

Besoin d’aide ?

Vous voulez plus d’options ?

Explorez les avantages de l’abonnement, parcourez les cours de formation, découvrez comment sécuriser votre appareil, etc.

Les communautés vous permettent de poser des questions et d'y répondre, de donner vos commentaires et de bénéficier de l'avis d'experts aux connaissances approfondies.