Подтвердить что ты не робот

Как сравнить только дату, а не время двух дат?

Я хочу сравнить только часть даты (и не время) двух объектов VB.NET Date. Есть ли способ сделать это?

4b9b3361

Ответ 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