如何比较日期部分而不是两个日期的时间?

时间:2009-03-06 13:37:08

标签: vb.net date compare

我想比较两个VB.NET Date对象的日期部分(而不是时间)。 有没有办法做到这一点?

6 个答案:

答案 0 :(得分:59)

只需通过Date属性获取每个日期部分,然后比较两者:

date1.Date.CompareTo(date2.Date)

或者:

If date1.Date < date2.Date Then

答案 1 :(得分:7)

比较DateTime.Date属性。

答案 2 :(得分:7)

您也可以使用TimeSpan

Dim ts As TimeSpan
ts = dt1 - dt2

ts.Days现在将两个日期的差异作为整天。

答案 3 :(得分:5)

使用myDateTime.ToShortDateString()将txt1日期更改为dd / mm / yyyy格式,以便两个日期的格式相同。 然后:

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");

答案 4 :(得分:0)

Dim backDateCount As Integer = DateDiff(DateInterval.Day, CDate(dtpCheckIn.SelectedDate.Value).Date, Date.Now.Date)
  

现在的日期:#12/4/2018 12:00:00 AM#

     

日期。现在:#12/4/2018 03:23:34 PM#

答案 5 :(得分:-3)

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