Как сравнить только часть даты, а не время двух дат? - PullRequest
24 голосов
/ 06 марта 2009

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

Ответы [ 6 ]

59 голосов
/ 06 марта 2009

Просто возьмите часть даты каждого с помощью свойства Date и сравните два:

date1.Date.CompareTo(date2.Date)

Или:

If date1.Date < date2.Date Then
7 голосов
/ 06 марта 2009

Вы также можете использовать TimeSpan

Dim ts As TimeSpan
ts = dt1 - dt2

ts.Days теперь будет иметь разницу двух дат как целых дней.

7 голосов
/ 06 марта 2009

Сравните свойства DateTime.Date.

5 голосов
/ 25 февраля 2011

Измените дату txt1 на формат дд / мм / гггг, используя 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");
0 голосов
/ 04 декабря 2018
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 #

0 голосов
/ 25 июня 2012
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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...