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?

Était-ce utile?

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
scroll top