我想比较两个VB.NET Date对象的日期部分(而不是时间)。 有没有办法做到这一点?
答案 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