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.

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360, Zune

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

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

.NET Compact Framework

Supported in: 3.5, 2.0, 1.0

XNA Framework

Supported in: 3.0, 2.0, 1.0

Community Additions

© 2015 Microsoft