Я хочу сравнить только часть даты (и не время) двух объектов VB.NET Date. Есть ли способ сделать это?
Как сравнить только дату, а не время двух дат?
Ответ 1
Просто возьмите часть даты каждого с помощью свойства Date
и сравните два:
date1.Date.CompareTo(date2.Date)
Или:
If date1.Date < date2.Date Then
Ответ 2
Сравните свойства DateTime.Date.
Ответ 3
Вы также можете использовать TimeSpan
Dim ts As TimeSpan
ts = dt1 - dt2
ts.Days теперь будут иметь разницу между двумя датами как целые дни.
Ответ 4
Измените дату txt1 на формат dd/mm/yyyy, используя myDateTime.ToShortDateString()
, чтобы обе даты были в том же формате.
затем:
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");
Ответ 5
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 #
Ответ 6
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