2 Phương pháp mở rộng cho các giải pháp được đề cập ở trên
public static bool LiesAfterIgnoringMilliseconds(this DateTime theDate, DateTime compareDate, DateTimeKind kind)
{
DateTime thisDate = new DateTime(theDate.Year, theDate.Month, theDate.Day, theDate.Hour, theDate.Minute, theDate.Second, kind);
compareDate = new DateTime(compareDate.Year, compareDate.Month, compareDate.Day, compareDate.Hour, compareDate.Minute, compareDate.Second, kind);
return thisDate > compareDate;
}
public static bool LiesAfterOrEqualsIgnoringMilliseconds(this DateTime theDate, DateTime compareDate, DateTimeKind kind)
{
DateTime thisDate = new DateTime(theDate.Year, theDate.Month, theDate.Day, theDate.Hour, theDate.Minute, theDate.Second, kind);
compareDate = new DateTime(compareDate.Year, compareDate.Month, compareDate.Day, compareDate.Hour, compareDate.Minute, compareDate.Second, kind);
return thisDate >= compareDate;
}
sử dụng:
bool liesAfter = myObject.DateProperty.LiesAfterOrEqualsIgnoringMilliseconds(startDateTime, DateTimeKind.Utc);
string
biểu diễn được định dạng của aDateTime
, có lẽ cần phải chỉnh sửa để làm rõ rằng "cắt ngắn" / "thả" mili giây có nghĩa là "tạo ra mộtDateTime
giá trị mà tất cả các thành phần ngày / giờ đều giống nhau ngoại trừTimeOfDay.TotalMilliseconds
là0
." Mọi người không đọc, tất nhiên, nhưng chỉ để loại bỏ bất kỳ sự mơ hồ.