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

InvalidCastException

13

DateValue ne peut pas être converti en Date.

ArgumentException

5

Interval n'est pas valide.

ArgumentOutOfRangeException

9

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)

Day, fonction (Visual Basic)

Format, fonction

Now, propriété

Weekday, fonction (Visual Basic)

Year, fonction (Visual Basic)

Type de données date (Visual Basic)

System