Tôi muốn so sánh chỉ phần ngày (và không phải là thời gian) của hai đối tượng Ngày VB.NET. Có cách nào để làm điều đó không?Làm thế nào để so sánh chỉ là một phần ngày và không phải là thời gian của hai Ngày?
Trả lời
Chỉ cần lấy một phần ngày mỗi qua Date
tài sản và so sánh hai:
date1.Date.CompareTo(date2.Date)
Hoặc:
If date1.Date < date2.Date Then
So sánh các thuộc tính DateTime.Date.
Bạn cũng có thể sử dụng TimeSpan
Dim ts As TimeSpan
ts = dt1 - dt2
ts. Ngày sẽ có sự khác biệt của hai ngày là toàn bộ ngày.
Chỉ muốn thêm rằng tôi thường sử dụng (dt1-dt2) .Được coi là khác biệt nhanh. –
Chỉ là những gì tôi đang tìm kiếm! Cảm ơn! – webprogrammer
Thay đổi ngày txt1 thành định dạng dd/mm/yyyy bằng cách sử dụng myDateTime.ToShortDateString()
để cả hai ngày đều có cùng định dạng. thì:
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");
logic tuyệt vời để xử lý so sánh ngày, cảm ơn. – htm11h
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
Bạn phải chịu một cách chính xác. –
Tôi sẽ xóa văn bản về nó sau đó. Chỉ cần cho bất cứ ai theo sau, bình luận của Konrad có ý nghĩa tại thời điểm :) –
+1, thêm một chút nhỏ vào VB nếu/sau đó cú pháp. – JaredPar