Partager via


DateAndTime.DateDiff Méthode

Définition

Retourne une valeur spécifiant le nombre d’intervalles de temps entre deux Date valeurs.

Surcharges

Nom Description
DateDiff(DateInterval, DateTime, DateTime, FirstDayOfWeek, FirstWeekOfYear)

Date1 Soustrait de donner Date2 une valeur longue spécifiant le nombre d’intervalles de temps entre les deux Date valeurs.

DateDiff(String, Object, Object, FirstDayOfWeek, FirstWeekOfYear)

Date1 Soustrait de donner Date2 une valeur longue spécifiant le nombre d’intervalles de temps entre les deux Date valeurs.

DateDiff(DateInterval, DateTime, DateTime, FirstDayOfWeek, FirstWeekOfYear)

Source:
DateAndTime.vb
Source:
DateAndTime.vb
Source:
DateAndTime.vb
Source:
DateAndTime.vb
Source:
DateAndTime.vb

Date1 Soustrait de donner Date2 une valeur longue spécifiant le nombre d’intervalles de temps entre les deux Date valeurs.

public static long DateDiff(Microsoft.VisualBasic.DateInterval Interval, DateTime Date1, DateTime Date2, Microsoft.VisualBasic.FirstDayOfWeek DayOfWeek = Microsoft.VisualBasic.FirstDayOfWeek.Sunday, Microsoft.VisualBasic.FirstWeekOfYear WeekOfYear = Microsoft.VisualBasic.FirstWeekOfYear.Jan1);
static member DateDiff : Microsoft.VisualBasic.DateInterval * DateTime * DateTime * Microsoft.VisualBasic.FirstDayOfWeek * Microsoft.VisualBasic.FirstWeekOfYear -> int64
Public Function DateDiff (Interval As DateInterval, Date1 As DateTime, Date2 As DateTime, Optional DayOfWeek As FirstDayOfWeek = Microsoft.VisualBasic.FirstDayOfWeek.Sunday, Optional WeekOfYear As FirstWeekOfYear = Microsoft.VisualBasic.FirstWeekOfYear.Jan1) As Long

Paramètres

Interval
DateInterval

Obligatoire. Valeur DateInterval d’énumération ou expression de chaîne représentant l’intervalle de temps que vous souhaitez utiliser comme unité de différence entre Date1 et Date2.

Date1
DateTime

Obligatoire. Première valeur date/heure que vous souhaitez utiliser dans le calcul.

Date2
DateTime

Obligatoire. Deuxième valeur de date/heure que vous souhaitez utiliser dans le calcul.

DayOfWeek
FirstDayOfWeek

Optionnel. Valeur choisie à partir de l’énumération FirstDayOfWeek qui spécifie le premier jour de la semaine. En l'absence de spécification, Sunday est utilisé.

WeekOfYear
FirstWeekOfYear

Optionnel. Valeur choisie dans l’énumération FirstWeekOfYear qui spécifie la première semaine de l’année. En l'absence de spécification, Jan1 est utilisé.

Retours

Valeur longue spécifiant le nombre d’intervalles de temps entre deux Date valeurs.

Exceptions

Date1, Date2ou DayofWeek est hors limites.

Date1 ou Date2 est d’un type non valide.

Exemples

Cet exemple utilise la DateDiff fonction pour afficher le nombre de jours entre une date donnée et aujourd’hui.

Dim date2Entered As String = InputBox("Enter a date")

Try
    Dim date2 As Date = Date.Parse(date2Entered)
    Dim date1 As Date = Now

    ' Determine the number of days between the two dates.
    Dim days As Long = DateDiff(DateInterval.Day, date1, date2)

    ' This statement has a string interval argument, and
    ' is equivalent to the above statement.
    'Dim days As Long = DateDiff("d", date1, date2)

    MessageBox.Show("Days from today: " & days.ToString)
Catch ex As Exception
    MessageBox.Show("Invalid Date: " & ex.Message)
End Try

Remarques

Vous pouvez utiliser la DateDiff fonction pour déterminer le nombre d’intervalles de temps spécifiés entre deux valeurs de date/heure. Par exemple, vous pouvez utiliser DateDiff pour calculer le nombre de jours entre deux dates ou le nombre de semaines entre aujourd’hui et la fin de l’année.

Comportement

  • Traitement des paramètres. DateDiff soustrait la valeur de Date1 la valeur de Date2 produire la différence. Aucune valeur n’est modifiée dans le programme appelant.

  • Retourne des valeurs. Étant donné que Date1 les Date2 valeurs de date et d’heure sont du type de Date données, elles contiennent des valeurs de date et d’heure exactes à 100 nanosecondes sur le minuteur système. Toutefois, DateDiff retourne toujours le nombre d’intervalles de temps sous forme Long de valeur.

    Si Date1 représente une date et une heure ultérieures, Date2DateDiff retourne un nombre négatif.

  • Intervalles de jour. Si Interval elle est définie DateInterval.DayOfYearsur , elle est traitée de la même façon que DateInterval.Day, car DayOfYear n’est pas une unité significative pour un intervalle de temps.

  • Intervalles de semaine. Si Interval elle est définie DateInterval.WeekOfYearsur , la valeur de retour représente le nombre de semaines entre le premier jour de la semaine contenant Date1 et le premier jour de la semaine contenant Date2. L’exemple suivant montre comment cela produit des résultats différents à partir de DateInterval.Weekday.

    ' The following statements set datTim1 to a Thursday
    ' and datTim2 to the following Tuesday.
    Dim datTim1 As Date = #1/4/2001#
    Dim datTim2 As Date = #1/9/2001#
    ' Assume Sunday is specified as first day of the week.
    Dim wD As Long = DateDiff(DateInterval.Weekday, datTim1, datTim2)
    Dim wY As Long = DateDiff(DateInterval.WeekOfYear, datTim1, datTim2)
    

    Dans l’exemple précédent, DateDiff retourne 0 car la différence entre les deux dates est inférieure à wD sept jours, mais elle retourne 1 car wY il existe une différence de sept jours entre les premiers jours des semaines civiles respectives.

  • Intervalles plus importants. Si Interval elle est définie DateInterval.Yearsur , la valeur de retour est calculée uniquement à partir des parties d’année de Date1 et Date2. De même, la valeur de retour pour DateInterval.Month est calculée uniquement à partir des parties année et mois des arguments, et pour DateInterval.Quarter les trimestres contenant les deux dates.

    Par exemple, lorsque vous comparez le 31 décembre au 1er janvier de l’année suivante, DateDiff retourne 1 pour DateInterval.Year, DateInterval.Quarterou DateInterval.Month, même si au plus un seul jour s’est écoulé.

    Pour les cultures telles que les japonais qui ont plusieurs ères, la DateDiff méthode ne retourne pas de différence en années si la différence s’étend sur deux ou plusieurs ères. Au lieu de cela, vous pouvez calculer la différence dans les valeurs retournées par la Year propriété, comme illustré dans l’exemple suivant : date2.Year - date1.Year.

  • Autres intervalles. Étant donné que chaque Date valeur est prise en charge par une DateTime structure, ses méthodes vous offrent des options supplémentaires pour trouver des intervalles de temps. Par exemple, vous pouvez utiliser la Subtract méthode dans l’une de ses formes surchargées : DateTime.Subtract soustrait une TimeSpanDate variable pour retourner une autre Date valeur et DateTime.Subtract soustraire une Date valeur pour retourner un TimeSpan. Vous pouvez timer un processus pour déterminer le nombre de millisecondes qu’il prend, comme l’illustre l’exemple suivant.

    Dim startTime As Date = Now
    ' Run the process that is to be timed.
    Dim runLength As Global.System.TimeSpan = Now.Subtract(startTime)
    Dim millisecs As Double = runLength.TotalMilliseconds
    

L’argument Interval peut avoir l’un des paramètres suivants.

Valeur d’énumération Valeur de chaîne Unité de différence de temps
DateInterval.Day « d » Jour
DateInterval.DayOfYear « y » Jour
DateInterval.Hour « h » Heure
DateInterval.Minute « n » Minute
DateInterval.Month « m » Mois
DateInterval.Quarter « q » Quartier
DateInterval.Second « s » Deuxième
DateInterval.Weekday « w » Semaine
DateInterval.WeekOfYear « ww » Semaine civile
DateInterval.Year « aaaa » Année

L’argument DayOfWeek peut avoir l’un des paramètres suivants.

Valeur d’énumération Valeur Description
FirstDayOfWeek.System 0 Premier jour de semaine spécifié dans les paramètres système
FirstDayOfWeek.Sunday 1 Dimanche (valeur par défaut)
FirstDayOfWeek.Monday 2 Lundi (conforme à la norme ISO 8601, section 3.17)
FirstDayOfWeek.Tuesday 3 Mardi
FirstDayOfWeek.Wednesday 4 Mercredi
FirstDayOfWeek.Thursday 5 Jeudi
FirstDayOfWeek.Friday 6 Vendredi
FirstDayOfWeek.Saturday 7 Samedi

L’argument WeekOfYear peut avoir l’un des paramètres suivants.

Valeur d’énumération Valeur Description
FirstWeekOfYear.System 0 Première semaine de l’année spécifiée dans les paramètres système
FirstWeekOfYear.Jan1 1 Semaine dans laquelle se produit le 1er janvier (valeur par défaut)
FirstWeekOfYear.FirstFourDays 2 Semaine qui a au moins quatre jours dans la nouvelle année (conforme à la norme ISO 8601, section 3.17)
FirstWeekOfYear.FirstFullWeek 3 Première semaine complète dans la nouvelle année

Voir aussi

S’applique à

DateDiff(String, Object, Object, FirstDayOfWeek, FirstWeekOfYear)

Source:
DateAndTime.vb
Source:
DateAndTime.vb
Source:
DateAndTime.vb
Source:
DateAndTime.vb
Source:
DateAndTime.vb

Date1 Soustrait de donner Date2 une valeur longue spécifiant le nombre d’intervalles de temps entre les deux Date valeurs.

public static long DateDiff(string Interval, object? Date1, object? Date2, Microsoft.VisualBasic.FirstDayOfWeek DayOfWeek = Microsoft.VisualBasic.FirstDayOfWeek.Sunday, Microsoft.VisualBasic.FirstWeekOfYear WeekOfYear = Microsoft.VisualBasic.FirstWeekOfYear.Jan1);
public static long DateDiff(string Interval, object Date1, object Date2, Microsoft.VisualBasic.FirstDayOfWeek DayOfWeek = Microsoft.VisualBasic.FirstDayOfWeek.Sunday, Microsoft.VisualBasic.FirstWeekOfYear WeekOfYear = Microsoft.VisualBasic.FirstWeekOfYear.Jan1);
static member DateDiff : string * obj * obj * Microsoft.VisualBasic.FirstDayOfWeek * Microsoft.VisualBasic.FirstWeekOfYear -> int64
Public Function DateDiff (Interval As String, Date1 As Object, Date2 As Object, Optional DayOfWeek As FirstDayOfWeek = Microsoft.VisualBasic.FirstDayOfWeek.Sunday, Optional WeekOfYear As FirstWeekOfYear = Microsoft.VisualBasic.FirstWeekOfYear.Jan1) As Long

Paramètres

Interval
String

Obligatoire. Valeur DateInterval d’énumération ou expression de chaîne représentant l’intervalle de temps que vous souhaitez utiliser comme unité de différence entre Date1 et Date2.

Date1
Object

Obligatoire. Première valeur date/heure que vous souhaitez utiliser dans le calcul.

Date2
Object

Obligatoire. Deuxième valeur de date/heure que vous souhaitez utiliser dans le calcul.

DayOfWeek
FirstDayOfWeek

Optionnel. Valeur choisie à partir de l’énumération FirstDayOfWeek qui spécifie le premier jour de la semaine. En l'absence de spécification, Sunday est utilisé.

WeekOfYear
FirstWeekOfYear

Optionnel. Valeur choisie dans l’énumération FirstWeekOfYear qui spécifie la première semaine de l’année. En l'absence de spécification, Jan1 est utilisé.

Retours

Valeur longue spécifiant le nombre d’intervalles de temps entre deux Date valeurs.

Exceptions

Date1, Date2ou DayofWeek est hors limites.

Date1 ou Date2 est d’un type non valide.

Exemples

Cet exemple utilise la DateDiff fonction pour afficher le nombre de jours entre une date donnée et aujourd’hui.

Dim date2Entered As String = InputBox("Enter a date")

Try
    Dim date2 As Date = Date.Parse(date2Entered)
    Dim date1 As Date = Now

    ' Determine the number of days between the two dates.
    Dim days As Long = DateDiff(DateInterval.Day, date1, date2)

    ' This statement has a string interval argument, and
    ' is equivalent to the above statement.
    'Dim days As Long = DateDiff("d", date1, date2)

    MessageBox.Show("Days from today: " & days.ToString)
Catch ex As Exception
    MessageBox.Show("Invalid Date: " & ex.Message)
End Try

Remarques

Vous pouvez utiliser la DateDiff fonction pour déterminer le nombre d’intervalles de temps spécifiés entre deux valeurs de date/heure. Par exemple, vous pouvez utiliser DateDiff pour calculer le nombre de jours entre deux dates ou le nombre de semaines entre aujourd’hui et la fin de l’année.

Comportement

  • Traitement des paramètres. DateDiff soustrait la valeur de Date1 la valeur de Date2 produire la différence. Aucune valeur n’est modifiée dans le programme appelant.

  • Retourne des valeurs. Étant donné que Date1 les Date2 valeurs de date et d’heure sont du type de Date données, elles contiennent des valeurs de date et d’heure exactes à 100 nanosecondes sur le minuteur système. Toutefois, DateDiff retourne toujours le nombre d’intervalles de temps sous forme Long de valeur.

    Si Date1 représente une date et une heure ultérieures, Date2DateDiff retourne un nombre négatif.

  • Intervalles de jour. Si Interval elle est définie DateInterval.DayOfYearsur , elle est traitée de la même façon que DateInterval.Day, car DayOfYear n’est pas une unité significative pour un intervalle de temps.

  • Intervalles de semaine. Si Interval elle est définie DateInterval.WeekOfYearsur , la valeur de retour représente le nombre de semaines entre le premier jour de la semaine contenant Date1 et le premier jour de la semaine contenant Date2. L’exemple suivant montre comment cela produit des résultats différents à partir de DateInterval.Weekday.

    ' The following statements set datTim1 to a Thursday
    ' and datTim2 to the following Tuesday.
    Dim datTim1 As Date = #1/4/2001#
    Dim datTim2 As Date = #1/9/2001#
    ' Assume Sunday is specified as first day of the week.
    Dim wD As Long = DateDiff(DateInterval.Weekday, datTim1, datTim2)
    Dim wY As Long = DateDiff(DateInterval.WeekOfYear, datTim1, datTim2)
    

    Dans l’exemple précédent, DateDiff retourne 0 car la différence entre les deux dates est inférieure à wD sept jours, mais elle retourne 1 car wY il existe une différence de sept jours entre les premiers jours des semaines civiles respectives.

  • Intervalles plus importants. Si Interval elle est définie DateInterval.Yearsur , la valeur de retour est calculée uniquement à partir des parties d’année de Date1 et Date2. De même, la valeur de retour pour DateInterval.Month est calculée uniquement à partir des parties année et mois des arguments, et pour DateInterval.Quarter les trimestres contenant les deux dates.

    Par exemple, lorsque vous comparez le 31 décembre au 1er janvier de l’année suivante, DateDiff retourne 1 pour DateInterval.Year, DateInterval.Quarterou DateInterval.Month, même si au plus un seul jour s’est écoulé.

    Pour les cultures telles que les japonais qui ont plusieurs ères, la DateDiff méthode ne retourne pas de différence en années si la différence s’étend sur deux ou plusieurs ères. Au lieu de cela, vous pouvez calculer la différence dans les valeurs retournées par la Year propriété, comme illustré dans l’exemple suivant : date2.Year - date1.Year.

  • Autres intervalles. Étant donné que chaque Date valeur est prise en charge par une DateTime structure, ses méthodes vous offrent des options supplémentaires pour trouver des intervalles de temps. Par exemple, vous pouvez utiliser la Subtract méthode dans l’une de ses formes surchargées : DateTime.Subtract soustrait une TimeSpanDate variable pour retourner une autre Date valeur et DateTime.Subtract soustraire une Date valeur pour retourner un TimeSpan. Vous pouvez timer un processus pour déterminer le nombre de millisecondes qu’il prend, comme l’illustre l’exemple suivant.

    Dim startTime As Date = Now
    ' Run the process that is to be timed.
    Dim runLength As Global.System.TimeSpan = Now.Subtract(startTime)
    Dim millisecs As Double = runLength.TotalMilliseconds
    

L’argument Interval peut avoir l’un des paramètres suivants.

Valeur d’énumération Valeur de chaîne Unité de différence de temps
DateInterval.Day « d » Jour
DateInterval.DayOfYear « y » Jour
DateInterval.Hour « h » Heure
DateInterval.Minute « n » Minute
DateInterval.Month « m » Mois
DateInterval.Quarter « q » Quartier
DateInterval.Second « s » Deuxième
DateInterval.Weekday « w » Semaine
DateInterval.WeekOfYear « ww » Semaine civile
DateInterval.Year « aaaa » Année

L’argument DayOfWeek peut avoir l’un des paramètres suivants.

Valeur d’énumération Valeur Description
FirstDayOfWeek.System 0 Premier jour de semaine spécifié dans les paramètres système
FirstDayOfWeek.Sunday 1 Dimanche (valeur par défaut)
FirstDayOfWeek.Monday 2 Lundi (conforme à la norme ISO 8601, section 3.17)
FirstDayOfWeek.Tuesday 3 Mardi
FirstDayOfWeek.Wednesday 4 Mercredi
FirstDayOfWeek.Thursday 5 Jeudi
FirstDayOfWeek.Friday 6 Vendredi
FirstDayOfWeek.Saturday 7 Samedi

L’argument WeekOfYear peut avoir l’un des paramètres suivants.

Valeur d’énumération Valeur Description
FirstWeekOfYear.System 0 Première semaine de l’année spécifiée dans les paramètres système
FirstWeekOfYear.Jan1 1 Semaine dans laquelle se produit le 1er janvier (valeur par défaut)
FirstWeekOfYear.FirstFourDays 2 Semaine qui a au moins quatre jours dans la nouvelle année (conforme à la norme ISO 8601, section 3.17)
FirstWeekOfYear.FirstFullWeek 3 Première semaine complète dans la nouvelle année

Voir aussi

S’applique à