DATEDIFF |
Date de différence |
|---|---|
| ASP 3.0 | |
Syntaxe
| Function 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 | vbUseSystemDayOfWeek | 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 DateDiff permet de mesurer la différence entre deux dates selon un intervalle choisi, comme les jours, mois, années, heures,... C'est une fonction incontournable pour évaluer des durées, calculer des âges ou mesurer des écarts temporels dans les applications dynamiques.
- Le premier paramètre interval doit être une chaîne abrégée qui indique le type de différence à calculer. Par exemple, "d" pour les jours ou "m" pour les mois. Il faut bien respecter la syntaxe, faute de quoi la fonction retourne des résultats erronés ou lève une erreur.
- La différence est toujours calculée en valeurs entières, ce qui signifie qu'aucune précision partielle n'est prise en compte. Par exemple, une différence de 23 heures entre deux dates sera comptée comme 0 jours si l'intervalle utilisé est "d".
- Les deux dates date1 et date2 peuvent être fournies dans n'importe quel ordre, mais cela affectera le signe du résultat : une date2 antérieure à date1 donnera un nombre négatif. Cela permet d'identifier si une échéance est passée ou encore à venir.
- Les deux paramètres optionnels firstdayofweek et firstweekofyear sont utiles pour des calculs hebdomadaires précis, notamment pour les rapports statistiques ou calendriers personnalisés. Ils permettent d'adapter les calculs à différentes conventions culturelles.
- Lorsqu'on utilise "ww" pour calculer le nombre de semaines entre deux dates, le résultat dépend fortement des valeurs de firstdayofweek et firstweekofyear, ce qui peut entraîner des écarts inattendus si les paramètres ne sont pas explicitement définis.
- Un usage courant de DateDiff consiste à calculer le nombre de jours restants avant une échéance ou l'ancienneté d'un enregistrement. Cela facilite l'automatisation de rappels, d'archivages, ou la gestion de périodes d'inactivité.
- La fonction DateDiff s'intègre parfaitement avec d'autres fonctions comme DateAdd, Now() ou Date() pour créer des formules dynamiques complexes de gestion du temps dans les scripts ASP, sans avoir recours à des bibliothèques externes.
Exemple
Voici un exemple d'une utilisation typique de cette fonction :
- <%
- Response.Write "d=" & DateDiff("d","2010-01-09","2011-01-09") & "<br />"
- Response.Write "h=" & DateDiff("h","2010-01-09 00:30:00","2011-01-09 23:30:00") & "<br />"
- Response.Write "m=" & DateDiff("m","2010-01-09","2011-01-09") & "<br />"
- Response.Write "n=" & DateDiff("n","2010-01-09 00:30:00","2011-01-09") & "<br />"
- Response.Write "q=" & DateDiff("q","2010-01-09","2011-01-09") & "<br />"
- Response.Write "s=" & DateDiff("s","2010-01-09 00:30:00","2011-01-09 23:30:00") & "<br />"
- Response.Write "w=" & DateDiff("w","2010-01-09","2011-01-09") & "<br />"
- Response.Write "ww=" & DateDiff("ww","2010-01-09","2011-01-09") & "<br />"
- Response.Write "y=" & DateDiff("y","2010-01-09","2011-01-09") & "<br />"
- Response.Write "yyyy=" & DateDiff("yyyy","2010-01-09","2011-01-09") & "<br />"
- %>
on obtiendra le résultat suivant :
d=365h=8783
m=12
n=525570
q=4
s=31618800
w=52
ww=53
y=365
yyyy=1
Voir également
Articles - Les géants de l'informatique - Microsoft
Dernière mise à jour : Vendredi, le 10 octobre 2014