Wie vergleichen Sie nur den Datumsteil und nicht die Zeit von zwei Daten?
Frage
Ich möchte nur den Datumsteil (und nicht die Zeit) von zwei VB.NET -Datumsobjekten vergleichen. Gibt es eine Möglichkeit, das zu tun?
Lösung
Nehmen Sie einfach den Datum von jedem über die Date
Eigentum und vergleichen Sie die beiden:
date1.Date.CompareTo(date2.Date)
Oder:
If date1.Date < date2.Date Then
Andere Tipps
Vergleichen Sie die DateTime.Date -Eigenschaften.
Sie können auch Timesspan verwenden
Dim ts As TimeSpan
ts = dt1 - dt2
Ts.Days haben jetzt den Unterschied der beiden Daten als ganze Tage.
Ändern Sie das TXT1 -Datum, um DD/MM/YJJ YYY zu formatieren myDateTime.ToShortDateString()
so dass beide Daten im gleichen Format sein werden. dann :
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)
Datum.now.date: #12/4/2018 12:00:00##
Datum.Now: #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
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow