Convert.ToDateTime Method (Object)

Converts the value of the specified Object to a DateTime.

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
A DateTime equivalent to the value of value.
A DateTime equivalent to DateTime.MinValue if value is null.


value is not a valid DateTime value.


value does not implement IConvertible.


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 Example
   private static System.Windows.Controls.TextBlock outputBlock;

   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
      Example.outputBlock = outputBlock;

      // 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;
         convertedDate = Convert.ToDateTime(value);
         outputBlock.Text += String.Format("'{0}' converts to {1}.", value, convertedDate) + "\n";
      catch (FormatException)
         outputBlock.Text += String.Format("'{0}' is not in the proper format.", value) + "\n";
      catch (InvalidCastException)
         outputBlock.Text += String.Format("Conversion of the {0} '{1}' is not supported",
                           value.GetType().Name, value) + "\n";
// 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.


Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Community Additions