public static class DateTool
{
public static DateTime Min(DateTime x, DateTime y)
{
return (x.ToUniversalTime() < y.ToUniversalTime()) ? x : y;
}
public static DateTime Max(DateTime x, DateTime y)
{
return (x.ToUniversalTime() > y.ToUniversalTime()) ? x : y;
}
}
यह तारीखों को अलग-अलग 'प्रकार' की अनुमति देता है और उस उदाहरण को लौटाता है जिसे पारित किया गया था (टिक्स या मिलिसकॉन्ड से निर्मित एक नई डेटाइम नहीं लौटाता)।
[TestMethod()]
public void MinTest2()
{
DateTime x = new DateTime(2001, 1, 1, 1, 1, 2, DateTimeKind.Utc);
DateTime y = new DateTime(2001, 1, 1, 1, 1, 1, DateTimeKind.Local);
//Presumes Local TimeZone adjustment to UTC > 0
DateTime actual = DateTool.Min(x, y);
Assert.AreEqual(x, actual);
}
ध्यान दें कि यह परीक्षण ग्रीनविच के पूर्व में विफल हो जाएगा ...