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.