I want to compare just the date part (and Not the time) of two VB.NET Date objects. Is there a way to do that?
Compare the DateTime.Date properties.
Just take the date part of each via the Date
property and compare the two:
date1.Date.CompareTo(date2.Date)
Or:
If date1.Date < date2.Date Then
Change the txt1 date to format dd/mm/yyyy using myDateTime.ToShortDateString()
so that both the dates will be in same format.
then :
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");
You could also use TimeSpan
Dim ts As TimeSpan
ts = dt1 - dt2
ts.Days will now have the difference of the two dates as whole days.
Dim backDateCount As Integer = DateDiff(DateInterval.Day, CDate(dtpCheckIn.SelectedDate.Value).Date, Date.Now.Date)
Date.Now.Date: #12/4/2018 12:00:00 AM#
Date.Now: #12/4/2018 03:23:34 PM#
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