Passer directement au contenu principal
Office

DateDiff, fonction

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

Syntaxe

DiffDate ( intervalle, date1, date2 [, premierjoursem] [, FirstWeekOfYear] )

La syntaxe de la fonction DiffDate comporte les arguments suivants :

Conseil : Dans Access 2010, le générateur d’expressions utilise la fonctionnalité IntelliSense, qui vous permet d’identifier les arguments dont votre expression a besoin. 

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 spécifiant le premier jour de la semaine. Dimanche est le jour par défaut.

premièresem

Facultatif. Constante spécifiant 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' intervalleargument comporte 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 comporte les paramètres suivants :

Constante

Valeur

Description

vbUseSystem

0

Utilisez le paramètre de l’API NLS.

vbSunday

1

Dimanche (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 de l’API NLS.

vbFirstJan1

1

Commencer par la semaine du 1er janvier (par défaut).

vbFirstFourDays

2

Commencer la première semaine ayant au moins quatre jours dans la nouvelle année.

vbFirstFullWeek

3

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

Notes

Vous pouvez utiliser la fonction DiffDate 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 la date du jour et la fin de l’année.

Pour calculer le nombre de jours entre date1 et date2, vous pouvez utiliser l’un des jours de l’année (« y ») ou le jour (« j »). Lorsque intervalle est JOURSEM ("w"), DateDiff renvoie le nombre de semaines entre les deux dates. Si date1 tombe un lundi, DateDiff compte le nombre de lundis jusqu’à la fonction date2. Elle compte date2 , mais pas date1. Si intervalle est semaine ("SS"), la fonction DateDiff renvoie le nombre de semaines du calendrier entre les deux dates. Il compte le nombre de dimanches entre date1 et date2. DateDiff compte date2 s’il tombe sur un dimanche ; mais il ne compte pas date1, même s’il tombe sur un dimanche.

Si date1 fait référence à un point ultérieur dans le temps, lafonction DateDiff renvoie un nombre négatif.

L’argument FirstDayOfWeek affecte les calculs qui utilisent les symboles de l’intervalle « w » et « WW ».

Si date1 ou date2 est une symbole littéral représentant une date, l’année spécifiée devient un élément permanent de cette date. Toutefois, si l’argument date1 ou date2 est entouré de 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. Ainsi, il est possible 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 suivante immédiatement, la fonction DateDiff pour l’année ("yyyy") renvoie 1, même si seul un jour s’est écoulé.

Remarque :  Pour date1 et date2, si le paramètre de la propriété calendrier est grégorien, la date fournie doit être grégorienne. Si le calendrier est Hijri, la date fournie doit être Hijri.

Exemples de requêtes DateDiff

Expression

Résultats

Sélectionnez DateDiff ("yyyy", #01/01/2010 #, [DateofSale]) AS expr1 FROM ProductSales ;

Renvoie la différence entre date2 et date1 (considérer date1 comme le plus ancien et la valeur la plus récente) en tant que nombre de « years ». Résultat : différence entre les valeurs du champ « DateofSale » et la date « 01/01/2010 » comme nombre d’années.

Sélectionnez DateDiff ("t", [DateofSale], date ()) comme DaysSinceSale à partir de ProductSales ;

Cette fonction renvoie la différence entre les dates système et « DateofSale » en tant que nombre de « quarts » (sur la base de l’année civile) et s’affiche dans la colonne « DaysSinceSale ». Cette fonction renvoie la différence entre les dates système et « DateofSale » en tant que nombre de « mois » et s’affiche dans la colonne « DaysSinceSale ».

Sélectionnez DateDiff ("y", [DateofSale], date ()) comme DaysSinceSale à partir de ProductSales ;

Cette fonction renvoie la différence entre les dates système et « DateofSale » en tant que nombre de « jours » et s’affiche dans la colonne « DaysSinceSale ».

Sélectionnez DiffDate ("j", [DateofSale], date ()) comme DaysSinceSale à partir de ProductSales ;

Cette fonction renvoie la différence entre les dates système et « DateofSale » en tant que nombre de « jours » et s’affiche dans la colonne « DaysSinceSale ».

Sélectionnez DiffDate ("m", [DateofSale], date ()) comme DaysSinceSale à partir de ProductSales ;

Cette fonction renvoie la différence entre les dates système et « DateofSale » en tant que nombre de « Joursems » et s’affiche dans la colonne « DaysSinceSale ». Si « DateofSale » tombe sur un lundi, DateDiff compte le nombre de lundis jusqu’à la date système. Il compte la date système mais pas la valeur de « DateofSale ».

Sélectionnez DateDiff ("SS", [DateofSale], date ()) comme DaysSinceSale à partir de ProductSales ;

Cette fonction renvoie la différence entre la date système et « DateofSale » en tant que nombre de « semaines du calendrier » et s’affiche dans la colonne « DaysSinceSale ». Il compte le nombre de dimanches entre « DateofSale » et « date système ». Il compte la date système s’il tombe sur un dimanche ; mais ne compte pas « DateofSale », même s’il tombe sur un dimanche.

Sélectionnez DiffDate ("h", [DateHeure], date ()) comme DaysSinceSale à partir de ProductSales ;

Cette fonction renvoie la différence entre les dates système et « DateHeure » comme nombre d’heures et s’affiche dans la colonne « DaysSinceSale ».

Sélectionnez DiffDate ("n", [DateHeure], date ()) comme DaysSinceSale à partir de ProductSales ;

Cette fonction renvoie la différence entre les dates système et « DateHeure » en tant que nombre de « minutes » et s’affiche dans la colonne « DaysSinceSale ».

Sélectionnez DiffDate ("s", [DateHeure], date ()) comme DaysSinceSale à partir de ProductSales ;

Cette fonction renvoie la différence entre les dates système et « DateHeure » en tant que nombre de « secondes » et s’affiche dans la colonne « DaysSinceSale ».

Exemple d'expression

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

En supposant qu’il faut 10 jours pour expédier n’importe quelle commande, définissez la propriété source contrôle de la zone de texte comme suit :

= DiffDate ("j", maintenant (), [commandes]. [ ReceiveBefore])-10

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

Exemple VBA

Utiliser la fonction DateDiff dans du code VBA    

Cet exemple utilise la fonction DiffDate pour afficher le nombre de jours entre une date donnée et la date du jour.

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

Remarque :  Cette page a été traduite automatiquement et peut donc contenir des erreurs grammaticales ou des imprécisions. Notre objectif est de faire en sorte que ce contenu vous soit utile. Pouvez vous nous dire si les informations vous ont été utiles ? Voici l’article en anglais pour référence.

Voir aussi

Choisir la fonction de date correcte

Développez vos compétences dans Office
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoignez le programme Office Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

Merci pour vos commentaires. Il serait vraisemblablement utile pour vous de contacter l’un de nos agents du support Office.

×