Export (0) Print
Expand All

Convert.ToDateTime Method (Object)

Converts the value of the specified object to a DateTime object.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

public static DateTime ToDateTime(
	Object value


Type: System.Object
An object that implements the IConvertible interface, or null.

Return Value

Type: System.DateTime
The date and time equivalent of the value of value, or a date and time equivalent of DateTime.MinValue if value is null.


value is not a valid date and time value.


value does not implement the IConvertible interface.


The conversion is not supported.

For the conversion to succeed, the runtime type of the value parameter must be either a DateTime or a String, or value must be null. Otherwise, the method throws an InvalidCastException. In addition, if value is a string, it must contain a valid representation of a date and time value in the current culture or a FormatException is thrown.

The return value is the result of invoking the IConvertible.ToDateTime method of the underlying type of value.

The following example calls the ToDateTime(Object) method with a variety of Object variables.

using System;

public class ConversionToDateTime
   public static void Main()
      // Try converting an integer.
      int number = 16352;

      // Convert a null.
      object obj = null;

      // Convert a non-date string.
      string nonDateString = "monthly";

      // Try to convert various date strings.
      string dateString; 
      dateString = "05/01/1996";
      dateString = "Tue Apr 28, 2009";
      dateString = "06 July 2008 7:32:47 AM";
      dateString = "17:32:47.003";

   private static void ConvertToDateTime(object value)
      DateTime convertedDate;
      try {
         convertedDate = Convert.ToDateTime(value);
         Console.WriteLine("'{0}' converts to {1}.", value, convertedDate);
      catch (FormatException) {
         Console.WriteLine("'{0}' is not in the proper format.", value);
      catch (InvalidCastException) {
         Console.WriteLine("Conversion of the {0} '{1}' is not supported", 
                           value.GetType().Name, value);
// The example displays the following output:
//       Conversion of the Int32 '16352' is not supported
//       '' converts to 1/1/0001 12:00:00 AM.
//       'monthly' is not in the proper format.
//       '05/01/1996' converts to 5/1/1996 12:00:00 AM.
//       'Tue Apr 28, 2009' converts to 4/28/2009 12:00:00 AM.
//       '06 July 2008 7:32:47 AM' converts to 7/6/2008 7:32:47 AM.
//       '17:32:47.003' converts to 5/28/2008 5:32:47 PM.

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

Windows 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.

Community Additions

© 2015 Microsoft