C#:
So sánh hai ngày

Cách thực hiện:

Hãy cùng nhau tìm hiểu về C# cho việc so sánh ngày. Giả sử chúng ta có hai đối tượng DateTime, date1date2. Chúng tôi so sánh bằng cách dùng DateTime.Compare(date1, date2), date1.CompareTo(date2), hoặc so sánh trực tiếp các thuộc tính:

DateTime date1 = new DateTime(2023, 3, 25);
DateTime date2 = new DateTime(2023, 3, 30);

// Sử dụng phương thức tĩnh DateTime.Compare
int result = DateTime.Compare(date1, date2);

if(result < 0)
    Console.WriteLine("date1 sớm hơn date2.");
else if(result == 0)
    Console.WriteLine("date1 cùng thời điểm với date2.");
else
    Console.WriteLine("date1 muộn hơn date2.");

// Sử dụng phương thức thể hiện CompareTo
result = date1.CompareTo(date2);

if(result < 0)
    Console.WriteLine("date1 lại sớm hơn.");
else if(result == 0)
    Console.WriteLine("Vẫn là cùng một thời điểm?");
else
    Console.WriteLine("Lần này date1 đã muộn hơn?");

// So sánh trực tiếp
if(date1 < date2)
    Console.WriteLine("Yep, date1 sớm hơn, chúng ta có thể thấy trực tiếp.");
else if(date1 == date2)
    Console.WriteLine("Bằng nhau, đơn giản và rõ ràng.");
else
    Console.WriteLine("Hay là date1 muộn hơn? Không, không phải lần này.");

Kết quả sẽ cho thấy date1 sớm hơn date2 trong tất cả các phép so sánh—bạn đang làm rõ điều hiển nhiên, nhưng đó là mục đích của các bản ghi.

Sâu hơn nữa

So sánh DateTime đã là một phần của C# kể từ khi nó ra đời, quan trọng cho việc xử lý khái niệm về thời gian luôn quan trọng. Nội bộ, giá trị DateTime đại diện cho số lần nhấp từ nửa đêm, ngày 1 tháng 1, năm 0001, trong Common Language Runtime.

Muốn thử cái khác? Bạn có thể sử dụng TimeSpan để tìm sự khác biệt, hoặc thử nghiệm với NodaTime, một thư viện của Jon Skeet cho việc xử lý ngày và giờ phức tạp hơn.

Đây là một sự thật thú vị về kỹ thuật: các loại DateTime trong .NET có thể là Unspecified, Utc, hoặc Local. So sánh thời gian UTC với thời gian địa phương? Điều đó mang lại rắc rối. Luôn đảm bảo loại trùng khớp để tránh logic sai lệch!

Xem thêm

Hãy đào sâu hoặc làm rõ các vấn đề với những tài liệu sau: