Comment comparer uniquement la partie date et pas l'heure de deux dates?
Question
Je souhaite comparer uniquement la partie date (et non l'heure) de deux objets Date VB.NET. Y a-t-il un moyen de le faire?
La solution
Prenez simplement la partie date de chaque via la propriété Date
et comparez les deux:
date1.Date.CompareTo(date2.Date)
Ou:
If date1.Date < date2.Date Then
Autres conseils
Comparez les propriétés DateTime.Date.
Vous pouvez également utiliser TimeSpan
Dim ts As TimeSpan
ts = dt1 - dt2
ts.Days aura maintenant la différence des deux dates en jours entiers.
Modifiez la date txt1 pour formater jj / mm / aaaa en utilisant myDateTime.ToShortDateString ()
afin que les deux dates soient au même format.
alors:
if (DateTime.Compare(date1, date2) > 0)
// which means ("date1 > date2")
if (DateTime.Compare(date1, date2) == 0)
//which means ("date1 == date2");
if (DateTime.Compare(date1, date2) < 0)
//which means ("date1 < date2");
Dim backDateCount As Integer = DateDiff(DateInterval.Day, CDate(dtpCheckIn.SelectedDate.Value).Date, Date.Now.Date)
Date.Now.Date: # 12/4/2018 00:00:00 #
Date.Maintenant: # 12/4/2018 03:23:34 #
Dim date1, date2 As Date
date1 = Date.Parse(dtpStart.Text)
date2 = Date.Parse(dtpEnd.Text)
If (DateTime.Compare(date1, date2) > 0) Then ' which means ("date1 > date2")
MessageBox.Show("يجب تحديد الفترة للتاريخ بشكل صحيح ", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading)
Exit Sub
End If
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow