DateAndTime.DateDiff Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Retourne une valeur spécifiant le nombre d’intervalles de temps entre deux valeurs Date
.
Surcharges
DateDiff(DateInterval, DateTime, DateTime, FirstDayOfWeek, FirstWeekOfYear) |
|
DateDiff(String, Object, Object, FirstDayOfWeek, FirstWeekOfYear) |
|
DateDiff(DateInterval, DateTime, DateTime, FirstDayOfWeek, FirstWeekOfYear)
- Source:
- DateAndTime.vb
- Source:
- DateAndTime.vb
- Source:
- DateAndTime.vb
Date1
Soustrait de Date2
pour donner 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 d’énumération DateInterval 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. La première valeur de date/d'heure que vous souhaitez utiliser dans le calcul.
- Date2
- DateTime
Obligatoire. La deuxième valeur de date/d'heure que vous souhaitez utiliser dans le calcul.
- DayOfWeek
- FirstDayOfWeek
Optionnel. Valeur choisie dans 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 valeurs Date
.
Exceptions
Date1
, Date2
, or 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 deDate1
de la valeur deDate2
pour produire la différence. Aucune des valeurs n’est modifiée dans le programme appelant.Valeurs de retour. Étant donné que
Date1
etDate2
sont du type deDate
données, ils 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 deLong
valeur.Si
Date1
représente une date et une heure ultérieures àDate2
,DateDiff
retourne un nombre négatif.Intervalles de jour. Si
Interval
a laDateInterval.DayOfYear
valeur , elle est traitée de la même façon queDateInterval.Day
, car n’estDayOfYear
pas une unité significative pour un intervalle de temps.Intervalles de semaine. Si
Interval
a laDateInterval.WeekOfYear
valeur , la valeur de retour représente le nombre de semaines entre le premier jour de la semaine contenantDate1
et le premier jour de la semaine contenantDate2
. L’exemple suivant montre comment cela produit des résultats différents deDateInterval.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 àwD
, car la différence entre les deux dates est inférieure à sept jours, mais retourne 1 àwY
, car il existe une différence de sept jours entre les premiers jours des semaines civiles respectives.Intervalles plus grands. Si
Interval
a la valeurDateInterval.Year
, la valeur de retour est calculée uniquement à partir des parties année deDate1
etDate2
. De même, la valeur de retour pourDateInterval.Month
est calculée uniquement à partir des parties année et mois des arguments, et pour desDateInterval.Quarter
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 pourDateInterval.Year
,DateInterval.Quarter
ouDateInterval.Month
, même si au maximum un seul jour s’est écoulé.Pour les cultures comme le 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 ères ou plus. Au lieu de cela, vous pouvez calculer la différence de 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 rechercher des intervalles de temps. Par exemple, vous pouvez utiliser la méthode dans l’uneSubtract
de ses formes surchargées : DateTime.Subtract soustrait un TimeSpan d’uneDate
variable pour retourner une autreDate
valeur et DateTime.Subtract soustrait uneDate
valeur pour retourner un TimeSpan. Vous pouvez timer un processus pour déterminer le nombre de millisecondes nécessaires, comme le montre 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" | Month |
DateInterval.Quarter |
« q » | Quarter (Trimestre) |
DateInterval.Second |
"s" | Seconde |
DateInterval.Weekday |
"w" | Semaine |
DateInterval.WeekOfYear |
« ww » | Semaine calendaire |
DateInterval.Year |
"yyyy" | Year |
L’argument DayOfWeek
peut avoir l’un des paramètres suivants.
Valeur d'énumération | Valeur | Description |
---|---|---|
FirstDayOfWeek.System |
0 | Premier jour de la 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 au cours de laquelle le 1er janvier se produit (par défaut) |
FirstWeekOfYear.FirstFourDays |
2 | Semaine ayant 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 de la nouvelle année |
Voir aussi
- DateAdd
- DatePart
- Day(DateTime)
- Format(Object, String)
- Now
- Weekday(DateTime, FirstDayOfWeek)
- Year(DateTime)
- DateTime
- TimeSpan
- Liste des types de données (Visual Basic)
S’applique à
DateDiff(String, Object, Object, FirstDayOfWeek, FirstWeekOfYear)
- Source:
- DateAndTime.vb
- Source:
- DateAndTime.vb
- Source:
- DateAndTime.vb
Date1
Soustrait de Date2
pour donner 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 d’énumération DateInterval 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. La première valeur de date/d'heure que vous souhaitez utiliser dans le calcul.
- Date2
- Object
Obligatoire. La deuxième valeur de date/d'heure que vous souhaitez utiliser dans le calcul.
- DayOfWeek
- FirstDayOfWeek
Optionnel. Valeur choisie dans 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 valeurs Date
.
Exceptions
Date1
, Date2
, or 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 deDate1
la valeur deDate2
pour produire la différence. Aucune des valeurs n’est modifiée dans le programme appelant.Valeurs retournées. Étant donné que
Date1
etDate2
sont du type deDate
données, ils contiennent des valeurs de date et d’heure précises à 100 nanosecondes sur le minuteur système. Toutefois,DateDiff
retourne toujours le nombre d’intervalles de temps sous forme deLong
valeur.Si
Date1
représente une date et une heure ultérieures àDate2
,DateDiff
retourne un nombre négatif.Intervalles de jour. Si
Interval
est défini surDateInterval.DayOfYear
, il est traité commeDateInterval.Day
, car n’estDayOfYear
pas une unité significative pour un intervalle de temps.Intervalles de semaine. Si
Interval
a la valeurDateInterval.WeekOfYear
, la valeur de retour représente le nombre de semaines entre le premier jour de la semaine contenantDate1
et le premier jour de la semaine contenantDate2
. L’exemple suivant montre comment cela produit des résultats différents deDateInterval.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 àwD
, car la différence entre les deux dates est inférieure à sept jours, mais elle retourne 1 àwY
, car il existe une différence de sept jours entre les premiers jours des semaines calendaires respectives.Intervalles plus grands. Si
Interval
a la valeurDateInterval.Year
, la valeur de retour est calculée uniquement à partir des parties year deDate1
etDate2
. De même, la valeur de retour pourDateInterval.Month
est calculée uniquement à partir des parties année et mois des arguments, et pourDateInterval.Quarter
à partir des 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 pourDateInterval.Year
,DateInterval.Quarter
ouDateInterval.Month
, même si au maximum un seul jour s’est écoulé.Pour les cultures telles que le japonais qui ont plusieurs époques, la
DateDiff
méthode ne retourne pas de différence en années si la différence s’étend sur deux ères ou plus. Au lieu de cela, vous pouvez calculer la différence de 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 rechercher des intervalles de temps. Par exemple, vous pouvez utiliser la méthode dans l’uneSubtract
de ses formes surchargées : DateTime.Subtract soustrait un d’uneDate
TimeSpan variable pour renvoyer une autreDate
valeur et DateTime.Subtract soustrait uneDate
valeur pour renvoyer un TimeSpan. Vous pouvez timer un processus pour déterminer le nombre de millisecondes nécessaires, comme le montre 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 décalage horaire |
---|---|---|
DateInterval.Day |
"d" | Jour |
DateInterval.DayOfYear |
"y" | Jour |
DateInterval.Hour |
"h" | Heure |
DateInterval.Minute |
« n » | Minute |
DateInterval.Month |
"m" | Month |
DateInterval.Quarter |
« q » | Quarter (Trimestre) |
DateInterval.Second |
"s" | Seconde |
DateInterval.Weekday |
"w" | Semaine |
DateInterval.WeekOfYear |
« ww » | Semaine calendaire |
DateInterval.Year |
"yyyy" | Year |
L’argument DayOfWeek
peut avoir l’un des paramètres suivants.
Valeur d'énumération | Valeur | Description |
---|---|---|
FirstDayOfWeek.System |
0 | Premier jour de la 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 au cours de laquelle le 1er janvier se produit (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 de la nouvelle année |
Voir aussi
- DateAdd
- DatePart
- Day(DateTime)
- Format(Object, String)
- Now
- Weekday(DateTime, FirstDayOfWeek)
- Year(DateTime)
- DateTime
- TimeSpan
- Liste des types de données (Visual Basic)
S’applique à
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour