DateAdd, fonction (Visual Basic)
Mise à jour : novembre 2007
Retourne une valeur Date contenant une valeur de date et d'heure auxquelles un intervalle de temps spécifié a été ajouté.
Public Overloads Function DateAdd( _
ByVal Interval As DateInterval, _
ByVal Number As Double, _
ByVal DateValue As DateTime _
) As DateTime
' -or-
Public Overloads Function DateAdd( _
ByVal Interval As String, _
ByVal Number As Double, _
ByVal DateValue As Object _
) As DateTime
Paramètres
Interval
Requis. Valeur d'énumération DateInterval ou expression String représentant l'intervalle de temps que vous souhaitez ajouter.Number
Requis. Double. Expression à virgule flottante représentant le nombre d'intervalles à ajouter. Number peut être positif (pour obtenir des valeurs date/heure à venir) ou négatif (pour représenter des valeurs date/heures passées). Toute partie fractionnaire de Number est ignorée.DateValue
Requis. Date. Expression qui représente la date et l'heure à laquelle l'intervalle sera ajouté. DateValue lui-même n'est pas modifié dans le programme appelant.
Paramètres
L'argument Interval peut prendre l'une des valeurs suivantes :
Valeur d'énumération |
Chaîne |
Unité de l'intervalle de temps à ajouter |
---|---|---|
DateInterval.Day |
d |
Jour ; seule la valeur entière est prise en compte |
DateInterval.DayOfYear |
y |
Jour ; seule la valeur entière est prise en compte |
DateInterval.Hour |
h |
Heure ; seule la valeur entière est prise en compte |
DateInterval.Minute |
n |
Minute ; seule la valeur entière est prise en compte |
DateInterval.Month |
m |
Mois ; seule la valeur entière est prise en compte |
DateInterval.Quarter |
q |
Trimestre ; seule la valeur entière est prise en compte |
DateInterval.Second |
s |
Seconde ; seule la valeur entière est prise en compte |
DateInterval.Weekday |
w |
Jour ; seule la valeur entière est prise en compte |
DateInterval.WeekOfYear |
ww |
Semaine ; seule la valeur entière est prise en compte |
DateInterval.Year |
yyyy |
Année ; seule la valeur entière est prise en compte |
Exceptions
Type d'exception |
Numéro de l'erreur |
Condition |
---|---|---|
DateValue ne peut pas être converti en Date. |
||
Interval n'est pas valide. |
||
La date calculée est antérieure à 00:00:00 le 1er janvier de l'année 1 ou ultérieure à 23:59:59 le 31 décembre 9999. |
Consultez la colonne « Numéro d'erreur » si vous mettez à niveau des applications Visual Basic 6.0 qui utilisent la gestion des erreurs non structurée. (Vous pouvez comparer le numéro d'erreur par rapport à Number, propriété (objet Err).) Toutefois, lorsque cela est possible, vous devez envisager de remplacer un tel contrôle d'erreur par Vue d'ensemble de la gestion structurée des exceptions pour Visual Basic.
Notes
Utilisez la fonction DateAdd pour ajouter ou soustraire à une date un intervalle de temps spécifié. Vous pouvez, par exemple, calculer une date distante de 30 jours ou une heure précédant de 45 minutes l'heure actuelle.
Pour ajouter des jours à DateValue, vous pouvez utiliser DateInterval.Day, DateInterval.DayOfYear ou DateInterval.Weekday. Ceux-ci sont traités comme équivalents parce que DayOfYear et Weekday ne sont pas des intervalles de temps explicites.
La fonction DateAdd ne retourne jamais de date non valide. Si nécessaire, la partie jour de la date obtenue est ajustée à la baisse sur le dernier jour du mois obtenu de l'année obtenue. Dans l'exemple suivant, un mois est ajouté à la date du 31 janvier :
Dim NextMonth As Date = DateAdd(DateInterval.Month, 1, #1/31/1995#)
Dans cet exemple, DateAdd retourne #2/28/1995#, pas #2/31/1995#. Si DateValue a la valeur #1/31/1996#, la date #2/29/1996# est retournée, car 1996 est une année bissextile.
Remarque : |
---|
DateAdd utilise le paramètre de calendrier actuel de la propriété CurrentCulture de la classe CultureInfo dans l'espace de noms System.Globalization. Les valeurs par défaut de CurrentCulture dépendent des paramètres du Panneau de configuration. |
Étant donné que chaque valeur Date est prise en charge par une structure DateTime, ses méthodes vous donnent des possibilités supplémentaires pour ajouter des intervalles de temps. Exemple : vous pouvez ajouter à une variable Date un nombre décimal de jours, arrondi à la milliseconde la plus proche, de la façon suivante :
Dim NextTime As Date = Now ' Current date and time.
NextTime = NextTime.AddDays(3.4) ' Increment by 3 2/5 days.
Exemple
Cet exemple prend une date et affiche une date correspondante dans le futur selon le nombre de mois spécifié, à l'aide de la fonction DateAdd.
Dim Msg, Number, StartDate As String 'Declare variables.
Dim Months As Double
Dim SecondDate As Date
Dim IntervalType As DateInterval
IntervalType = DateInterval.Month ' Specifies months as interval.
StartDate = InputBox("Enter a date")
SecondDate = CDate(StartDate)
Number = InputBox("Enter number of months to add")
Months = Val(Number)
Msg = "New date: " & DateAdd(IntervalType, Months, SecondDate)
MsgBox(Msg)
Configuration requise
Espace de noms :Microsoft.VisualBasic
**Module :**DateAndTime
**Assembly :**bibliothèque Visual Basic Runtime (dans Microsoft.VisualBasic.dll)
Voir aussi
Référence
DateDiff, fonction (Visual Basic)
DatePart, fonction (Visual Basic)
Weekday, fonction (Visual Basic)