Represents the smallest possible value of DateTime. This field is read-only.
Assembly: mscorlib (in mscorlib.dll)
Public Shared ReadOnly MinValue As DateTime
public static readonly DateTime MinValue
public: static initonly DateTime MinValue
static val MinValue: DateTime
The value of this constant is equivalent to 00:00:00.0000000, January 1, 0001.
MinValue defines the date and time that is assigned to an uninitialized DateTime variable. The following example illustrates this.
' Define an uninitialized date. Dim date1 As Date Console.Write(date1) If date1.Equals(Date.MinValue) Then _ Console.WriteLine(" (Equals Date.MinValue)") ' The example displays the following output: ' 1/1/0001 12:00:00 AM (Equals Date.MinValue)
// Define an uninitialized date. DateTime date1 = new DateTime(); Console.Write(date1); if (date1.Equals(DateTime.MinValue)) Console.WriteLine(" (Equals Date.MinValue)"); // The example displays the following output: // 1/1/0001 12:00:00 AM (Equals Date.MinValue)
The MinValue and MaxValue properties can be used to ensure that a value lies within the supported range before passing it to a DateTime constructor. The code in the Example section illustrates this usage.
The following example instantiates a DateTime object by passing its constructor an Int64 value that represents a number of ticks. Before invoking the constructor, the example ensures that this value is greater than or equal to DateTime.MinValue.Ticks and less than or equal to DateTime.MinValue.Ticks. If not, it throws an ArgumentOutOfRangeException.
' Attempt to assign an out-of-range value to a DateTime constructor. Dim numberOfTicks As Long = Int64.MaxValue Dim validDate As Date ' Validate the value. If numberOfTicks >= Date.MinValue.Ticks And _ numberOfTicks <= Date.MaxValue.Ticks Then validDate = New Date(numberOfTicks) ElseIf numberOfTicks < Date.MinValue.Ticks Then Console.WriteLine("{0:N0} is less than {1:N0} ticks.", numberOfTicks, DateTime.MinValue.Ticks) Else Console.WriteLine("{0:N0} is greater than {1:N0} ticks.", numberOfTicks, DateTime.MaxValue.Ticks) End If ' The example displays the following output: ' 9,223,372,036,854,775,807 is greater than 3,155,378,975,999,999,999 ticks.
// Attempt to assign an out-of-range value to a DateTime constructor. long numberOfTicks = Int64.MaxValue; DateTime validDate; // Validate the value. if (numberOfTicks >= DateTime.MinValue.Ticks && numberOfTicks <= DateTime.MaxValue.Ticks) validDate = new DateTime(numberOfTicks); else if (numberOfTicks < DateTime.MinValue.Ticks) Console.WriteLine("{0:N0} is less than {1:N0} ticks.", numberOfTicks, DateTime.MinValue.Ticks); else Console.WriteLine("{0:N0} is greater than {1:N0} ticks.", numberOfTicks, DateTime.MaxValue.Ticks); // The example displays the following output: // 9,223,372,036,854,775,807 is greater than 3,155,378,975,999,999,999 ticks.
.NET Framework
Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0.NET Framework Client Profile
Supported in: 4, 3.5 SP1Portable Class Library
Supported in: Portable Class LibraryWindows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.