2つの日付の時刻ではなく、日付部分だけを比較する方法は?
質問
2つのVB.NET Dateオブジェクトの日付部分のみを比較します(時刻ではありません)。 それを行う方法はありますか?
解決
Date
プロパティを介してそれぞれの日付部分を取得し、2つを比較します。
date1.Date.CompareTo(date2.Date)
または:
If date1.Date < date2.Date Then
他のヒント
DateTime.Dateプロパティを比較します。
TimeSpanを使用することもできます
Dim ts As TimeSpan
ts = dt1 - dt2
ts.Daysは、2つの日付の差を丸1日として持つようになります。
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#
Date.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
所属していません StackOverflow