DATEDIFF |
Différence de date |
|---|---|
| Access 2019, Access 2016, Access 2013, Access 2010, Access 2007, Access 2003, Access XP, Access 2000 | Microsoft Access |
Syntaxe
| DateDiff(interval,date1,date2, [firstdayofweek], [firstweekofyear]) |
Paramètres
| Nom | Description | ||
|---|---|---|---|
| interval | Ce paramètre permet d'indiquer le type d'intervalle de temps à ajouter : | ||
| Valeur | Description | ||
| "yyyy" | Cette valeur permet d'indiquer une année | ||
| "q" | Cette valeur permet d'indiquer un trimestre | ||
| "m" | Cette valeur permet d'indiquer un mois | ||
| "y" | Cette valeur permet d'indiquer des jours dans l'année | ||
| "d" | Cette valeur permet d'indiquer un jour | ||
| "w" | Cette valeur permet d'indiquer un jour de semaine | ||
| "ww" | Cette valeur permet d'indiquer une semaine de l'année | ||
| "h" | Cette valeur permet d'indiquer l'heure | ||
| "n" | Cette valeur permet d'indiquer les minutes | ||
| "s" | Cette valeur permet d'indiquer les secondes | ||
| date1 | Ce paramètre permet d'indiquer la première date sur laquelle il faut effectuer le calcul | ||
| date2 | Ce paramètre permet d'indiquer la deuxième date sur laquelle il faut effectuer le calcul | ||
| firstdayofweek | Ce paramètre optionnel permet d'indiquer le premier jour de la semaine. Les valeurs possibles sont : | ||
| Valeur | Constante | Description | |
| 0 | vbUseSystem | Cette valeur permet d'indiquer qu'il faut utiliser le NLS (National Language Support) | |
| 1 | vbSunday | Cette valeur permet d'indiquer qu'il faut utiliser le Dimanche. C'est la valeur par défaut. | |
| 2 | vbMonday | Cette valeur permet d'indiquer qu'il faut utiliser le Lundi. | |
| 3 | vbTuesday | Cette valeur permet d'indiquer qu'il faut utiliser le Mardi. | |
| 4 | vbWednesday | Cette valeur permet d'indiquer qu'il faut utiliser le Mercredi. | |
| 5 | vbThursday | Cette valeur permet d'indiquer qu'il faut utiliser le Jeudi. | |
| 6 | vbFriday | Cette valeur permet d'indiquer qu'il faut utiliser le Vendredi. | |
| 7 | vbSaturday | Cette valeur permet d'indiquer qu'il faut utiliser le Samedi. | |
| firstweekofyear | Ce paramètre optionnel permet d'indiquer le premier jour de l'année. Les valeurs possibles sont : | ||
| Valeur | Constante | Description | |
| 0 | vbUseSystem | Cette valeur permet d'indiquer qu'il faut utiliser le NLS (National Language Support) | |
| 1 | vbFirstJan1 | Cette valeur permet d'indiquer qu'il faut commencer avec la semaine du premier 1 janvier. C'est la valeur par défaut. | |
| 2 | vbFirstFourDays | Cette valeur permet d'indiquer qu'il faut commencer dans les 4 derniers jours de la semaine de la nouvelle année. | |
| 3 | vbFirstFullWeek | Cette valeur permet d'indiquer qu'il faut commencer dans la premier semaine complète de la nouvelle année. | |
Description
Cette fonction permet de demander l'intervalle de temps entre deux dates.
Remarques
- La fonction calcule la différence entre deux dates : La fonction DateDiff permet de déterminer l'intervalle séparant deux dates ou deux valeurs Date/Heure. Le résultat retourné est un nombre entier représentant le nombre d'unités spécifiées entre les deux dates. Cette fonction est très utilisée pour calculer des durées, des délais ou des périodes écoulées.
- L'unité de calcul est déterminée par le paramètre interval : Le premier paramètre indique si le calcul doit être effectué en années ("yyyy"), mois ("m"), jours ("d"), semaines ("ww"), heures ("h"), minutes ("n"), secondes ("s"),... Le choix de cet intervalle influence directement le résultat obtenu. Une même paire de dates peut donc produire des résultats très différents selon l'unité sélectionnée.
- Le résultat peut être positif, négatif ou nul : Si date2 est postérieure à date1, la fonction retourne généralement une valeur positive. À l'inverse, si date2 est antérieure à date1, le résultat est négatif. Lorsque les deux dates sont identiques pour l'intervalle demandé, DateDiff retourne simplement zéro.
- La fonction retourne un nombre entier et non une valeur décimale : DateDiff compte le nombre d'intervalles franchis entre les deux dates, sans retourner de fraction. Par exemple, une différence de 23 heures donnera 0 si l'intervalle demandé est "d" (jour), car aucun changement complet de jour n'a été franchi. Il est donc important de choisir l'unité correspondant réellement au besoin.
- Les paramètres firstdayofweek et firstweekofyear sont optionnels : Ces paramètres permettent de personnaliser le calcul lorsque l'intervalle concerne les jours de la semaine ("w") ou les semaines ("ww"). Ils déterminent respectivement le premier jour de la semaine et la manière de définir la première semaine de l'année. Cette personnalisation est particulièrement utile pour les applications internationales ou les calendriers professionnels.
- La fonction tient compte du calendrier réel : DateDiff gère automatiquement les années bissextiles, les mois de longueurs différentes ainsi que les changements d'année. Le développeur n'a donc pas à effectuer de calculs complexes pour gérer ces particularités du calendrier. Cette prise en charge garantit des résultats fiables dans la majorité des situations.
- Elle est très utilisée pour calculer des âges et des durées : L'une des utilisations les plus fréquentes de DateDiff consiste à calculer le nombre de jours entre deux événements, l'ancienneté d'un employé ou encore l'âge approximatif d'une personne. Elle sert également à déterminer le nombre d'heures de travail ou la durée d'une intervention. Son utilisation simplifie considérablement ce type de calcul.
- Elle fonctionne aussi avec les heures, les minutes et les secondes : La fonction ne se limite pas aux dates calendaires. En utilisant les intervalles "h", "n" ou "s", elle permet également de calculer la différence entre deux horaires avec une précision allant jusqu'à la seconde. Cette capacité est particulièrement utile pour les systèmes de pointage, les journaux d'événements ou les applications de planification.
- Elle est souvent utilisée avec DateAdd et DatePart : DateDiff est fréquemment combinée avec DateAdd, ajoutant un intervalle à une date, et DatePart, qui extrait une composante d'une date. Ensemble, ces trois fonctions permettent de réaliser pratiquement tous les traitements calendaires nécessaires dans une application Access. Elles constituent les principales fonctions de manipulation des dates en VBA.
- La fonction est compatible avec toutes les versions modernes de Microsoft Access : DateDiff est disponible depuis les premières versions de Microsoft Access et son comportement est resté stable au fil des années. Elle est compatible avec Access 2000, Access XP, Access 2003, Access 2007, Access 2010, Access 2013, Access 2016 ainsi qu'avec Microsoft 365. Cette stabilité garantit que les applications utilisant cette fonction continueront de produire des résultats cohérents après une migration vers une version plus récente d'Access.
Exemple
Voici un exemple de comment utiliser la fonction DIFFDATE dans Microsoft Access :
DateDiff ("yyyy", #15/10/1998#, #22/11/2003#)
Résultat: 5
DateDiff ("m", #15/10/2003#, #22/11/2003#)
Résultat: 1
DateDiff ("d", #15/10/2003#, #22/11/2003#)
Résultat: 38
Exemple de code VBA
La fonction DateDiff peut être utilisée dans le code VBA de Microsoft Access.
Par exemple :
Dim LValue As Integer
LValue = DateDiff ("d", #15/10/2003#, #22/11/2003#)
Dans cet exemple, la variable appelée LValue contiendrait désormais la valeur de 38.
Dernière mise à jour : Mardi, le 28 juillet 2015