How to compare just the date part and not the time of two Dates?

后端 未结 6 1497
南旧
南旧 2020-12-29 21:30

I want to compare just the date part (and Not the time) of two VB.NET Date objects. Is there a way to do that?

相关标签:
6条回答
  • 2020-12-29 21:44

    Compare the DateTime.Date properties.

    0 讨论(0)
  • 2020-12-29 21:46

    Just take the date part of each via the Date property and compare the two:

    date1.Date.CompareTo(date2.Date)
    

    Or:

    If date1.Date < date2.Date Then
    
    0 讨论(0)
  • 2020-12-29 21:49

    Change the txt1 date to format dd/mm/yyyy using myDateTime.ToShortDateString() so that both the dates will be in same format. then :

    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 讨论(0)
  • 2020-12-29 22:00

    You could also use TimeSpan

    Dim ts As TimeSpan
    ts = dt1 - dt2
    

    ts.Days will now have the difference of the two dates as whole days.

    0 讨论(0)
  • 2020-12-29 22:01
    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 讨论(0)
  • 2020-12-29 22:04
    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
    
    0 讨论(0)
提交回复
热议问题