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?

War es hilfreich?

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
scroll top