【发布时间】:2009-03-06 13:37:08
【问题描述】:
我只想比较两个 VB.NET Date 对象的日期部分(而不是时间)。 有没有办法做到这一点?
【问题讨论】:
我只想比较两个 VB.NET Date 对象的日期部分(而不是时间)。 有没有办法做到这一点?
【问题讨论】:
只需通过Date 属性获取每个日期部分并比较两者:
date1.Date.CompareTo(date2.Date)
或者:
If date1.Date < date2.Date Then
【讨论】:
你也可以使用 TimeSpan
Dim ts As TimeSpan
ts = dt1 - dt2
ts.Days 现在将两个日期的差作为整天。
【讨论】:
比较 DateTime.Date 属性。
【讨论】:
使用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");
【讨论】:
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#
现在日期: #12/4/2018 03:23:34 PM#
【讨论】:
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
【讨论】: