Convert.ToDateTime Método

Definición

Convierte un valor especificado en un valor DateTime.Converts a specified value to a DateTime value.

Sobrecargas

ToDateTime(Single)

Cuando se llama a este método, siempre se produce InvalidCastException.Calling this method always throws InvalidCastException.

ToDateTime(String)

Convierte la representación de cadena especificada de una fecha y hora en un valor de fecha y hora equivalente.Converts the specified string representation of a date and time to an equivalent date and time value.

ToDateTime(UInt16)

Cuando se llama a este método, siempre se produce InvalidCastException.Calling this method always throws InvalidCastException.

ToDateTime(String, IFormatProvider)

Convierte la representación de cadena especificada de un número en una fecha y hora equivalente, usando la información de formato específica de la referencia cultural indicada.Converts the specified string representation of a number to an equivalent date and time, using the specified culture-specific formatting information.

ToDateTime(UInt64)

Cuando se llama a este método, siempre se produce InvalidCastException.Calling this method always throws InvalidCastException.

ToDateTime(Object, IFormatProvider)

Convierte el valor del objeto especificado en un objeto DateTime, usando la información de formato específica de la referencia cultural indicada.Converts the value of the specified object to a DateTime object, using the specified culture-specific formatting information.

ToDateTime(SByte)

Cuando se llama a este método, siempre se produce InvalidCastException.Calling this method always throws InvalidCastException.

ToDateTime(UInt32)

Cuando se llama a este método, siempre se produce InvalidCastException.Calling this method always throws InvalidCastException.

ToDateTime(Object)

Convierte el valor del objeto especificado en un objeto DateTime.Converts the value of the specified object to a DateTime object.

ToDateTime(Double)

Cuando se llama a este método, siempre se produce InvalidCastException.Calling this method always throws InvalidCastException.

ToDateTime(Int32)

Cuando se llama a este método, siempre se produce InvalidCastException.Calling this method always throws InvalidCastException.

ToDateTime(Boolean)

Cuando se llama a este método, siempre se produce InvalidCastException.Calling this method always throws InvalidCastException.

ToDateTime(Byte)

Cuando se llama a este método, siempre se produce InvalidCastException.Calling this method always throws InvalidCastException.

ToDateTime(Char)

Cuando se llama a este método, siempre se produce InvalidCastException.Calling this method always throws InvalidCastException.

ToDateTime(Int64)

Cuando se llama a este método, siempre se produce InvalidCastException.Calling this method always throws InvalidCastException.

ToDateTime(Decimal)

Cuando se llama a este método, siempre se produce InvalidCastException.Calling this method always throws InvalidCastException.

ToDateTime(Int16)

Cuando se llama a este método, siempre se produce InvalidCastException.Calling this method always throws InvalidCastException.

ToDateTime(DateTime)

Devuelve el objeto DateTime especificado; no se efectúa una conversión real.Returns the specified DateTime object; no actual conversion is performed.

ToDateTime(Single)

Cuando se llama a este método, siempre se produce InvalidCastException.Calling this method always throws InvalidCastException.

public:
 static DateTime ToDateTime(float value);
public static DateTime ToDateTime (float value);
static member ToDateTime : single -> DateTime
Public Shared Function ToDateTime (value As Single) As DateTime

Parámetros

value
Single

Valor de punto flotante de precisión sencilla que se va a convertir.The single-precision floating-point value to convert.

Devoluciones

No se admite esta conversión.This conversion is not supported. No se devuelve ningún valor.No value is returned.

Excepciones

No se admite esta conversión.This conversion is not supported.

Consulte también:

ToDateTime(String)

Convierte la representación de cadena especificada de una fecha y hora en un valor de fecha y hora equivalente.Converts the specified string representation of a date and time to an equivalent date and time value.

public:
 static DateTime ToDateTime(System::String ^ value);
public static DateTime ToDateTime (string value);
static member ToDateTime : string -> DateTime
Public Shared Function ToDateTime (value As String) As DateTime

Parámetros

value
String

Representación en forma de cadena de una fecha y hora.The string representation of a date and time.

Devoluciones

Fecha y hora equivalente del valor de value, o la fecha y hora equivalente de MinValue si value es null.The date and time equivalent of the value of value, or the date and time equivalent of MinValue if value is null.

Excepciones

value no es una cadena de hora y fecha de formato correcto.value is not a properly formatted date and time string.

Ejemplos

En el ejemplo siguiente se usa el método ToDateTime para convertir diversas representaciones de cadena de fechas y horas en DateTime valores.The following example uses the ToDateTime method to convert various string representations of dates and times to DateTime values.

using System;

public class ConversionToDateTime
{
   public static void Main()
   {
      string dateString = null;
      
      // Convert a null string.
      ConvertToDateTime(dateString);
      
      // Convert an empty string.
      dateString = String.Empty;
      ConvertToDateTime(dateString);
      
      // Convert a non-date string.
      dateString = "not a date";
      ConvertToDateTime(dateString);
      
      // Try to convert various date strings.
      dateString = "05/01/1996";
      ConvertToDateTime(dateString);
      dateString = "Tue Apr 28, 2009";
      ConvertToDateTime(dateString);
      dateString = "Wed Apr 28, 2009";
      ConvertToDateTime(dateString);
      dateString = "06 July 2008 7:32:47 AM";
      ConvertToDateTime(dateString);
      dateString = "17:32:47.003";
      ConvertToDateTime(dateString);
      // Convert a string returned by DateTime.ToString("R").
      dateString = "Sat, 10 May 2008 14:32:17 GMT";
      ConvertToDateTime(dateString);
      // Convert a string returned by DateTime.ToString("o").
      dateString = "2009-05-01T07:54:59.9843750-04:00";
      ConvertToDateTime(dateString);
   }

   private static void ConvertToDateTime(string value)
   {
      DateTime convertedDate;
      try {
         convertedDate = Convert.ToDateTime(value);
         Console.WriteLine("'{0}' converts to {1} {2} time.", 
                           value, convertedDate, 
                           convertedDate.Kind.ToString());
      }
      catch (FormatException) {
         Console.WriteLine("'{0}' is not in the proper format.", value);
      }
   }
}
// The example displays the following output:
//    '' converts to 1/1/0001 12:00:00 AM Unspecified time.
//    '' is not in the proper format.
//    'not a date' is not in the proper format.
//    '05/01/1996' converts to 5/1/1996 12:00:00 AM Unspecified time.
//    'Tue Apr 28, 2009' converts to 4/28/2009 12:00:00 AM Unspecified time.
//    'Wed Apr 28, 2009' is not in the proper format.
//    '06 July 2008 7:32:47 AM' converts to 7/6/2008 7:32:47 AM Unspecified time.
//    '17:32:47.003' converts to 5/30/2008 5:32:47 PM Unspecified time.
//    'Sat, 10 May 2008 14:32:17 GMT' converts to 5/10/2008 7:32:17 AM Local time.
//    '2009-05-01T07:54:59.9843750-04:00' converts to 5/1/2009 4:54:59 AM Local time.
Module ConversionToDateTime
   Public Sub Main()
      Dim dateString As String = Nothing
      
      ' Convert a null string.
      ConvertToDateTime(dateString)
      
      ' Convert an empty string.
      dateString = String.Empty
      ConvertToDateTime(dateString)
      
      ' Convert a non-date string.
      dateString = "not a date"
      ConvertToDateTime(dateString)
      
      ' Try to convert various date strings.
      dateString = "05/01/1996"
      ConvertToDateTime(dateString)
      dateString = "Tue Apr 28, 2009"
      ConvertToDateTime(dateString)
      dateString = "Wed Apr 28, 2009"
      ConvertToDateTime(dateString)
      dateString = "06 July 2008 7:32:47 AM"
      ConvertToDateTime(dateString)
      dateString = "17:32:47.003"
      ConvertToDateTime(dateString)
      ' Convert a string returned by DateTime.ToString("R").
      dateString = "Sat, 10 May 2008 14:32:17 GMT"
      ConvertToDateTime(dateString)
      ' Convert a string returned by DateTime.ToString("o")
      dateString = "2009-05-01T07:54:59.9843750-04:00"
      ConvertToDateTime(dateString)
   End Sub
   
   Private Sub ConvertToDateTime(value As String)
      Dim convertedDate As Date
      Try
         convertedDate = Convert.ToDateTime(value)
         Console.WriteLine("'{0}' converts to {1}.", value, convertedDate)
      Catch e As FormatException
         Console.WriteLine("'{0}' is not in the proper format.", value)
      End Try
   End Sub
End Module
' The example displays the following output:
'    '' converts to 1/1/0001 12:00:00 AM.
'    '' is not in the proper format.
'    'not a date' 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.
'    'Wed Apr 28, 2009' is not in the proper format.
'    '06 July 2008 7:32:47 AM' converts to 7/6/2008 7:32:47 AM.
'    '17:32:47.003' converts to 5/30/2008 5:32:47 PM.
'    'Sat, 10 May 2008 14:32:17 GMT' converts to 5/10/2008 7:32:17 AM.
'    '2009-05-01T07:54:59.9843750-04:00' converts to 5/1/2009 4:54:59 AM.

Comentarios

Si value no se null, el valor devuelto es el resultado de invocar el método DateTime.Parse en value utilizando la información de formato de un objeto DateTimeFormatInfo que se inicializa para la referencia cultural actual.If value is not null, the return value is the result of invoking the DateTime.Parse method on value using the formatting information in a DateTimeFormatInfo object that is initialized for the current culture. El argumento value debe contener la representación de una fecha y hora en uno de los formatos descritos en el tema DateTimeFormatInfo.The value argument must contain the representation of a date and time in one of the formats described in the DateTimeFormatInfo topic. Si el valor de value es null, el método devuelve DateTime.MinValue.If value is null, the method returns DateTime.MinValue.

Este método intenta analizar value completamente y evitar producir un FormatException.This method tries to parse value completely and avoid throwing a FormatException. Completa la información de mes, día y año que falta en la fecha actual.It completes missing month, day, and year information with the current date. Si value contiene solo una fecha y ninguna hora, este método presupone una hora de medianoche.If value contains only a date and no time, this method assumes a time of midnight. Se omiten los caracteres de espacio en blanco iniciales, internos o finales de value.Any leading, inner, or trailing white-space characters in value are ignored.

Si prefiere no controlar una excepción si se produce un error en la conversión, puede llamar al método DateTime.TryParse en su lugar.If you prefer not to handle an exception if the conversion fails, you can call the DateTime.TryParse method instead. Devuelve un valor Boolean que indica si la conversión se realizó correctamente o no.It returns a Boolean value that indicates whether the conversion succeeded or failed.

Consulte también:

ToDateTime(UInt16)

Importante

Esta API no es conforme a CLS.

Cuando se llama a este método, siempre se produce InvalidCastException.Calling this method always throws InvalidCastException.

public:
 static DateTime ToDateTime(System::UInt16 value);
[System.CLSCompliant(false)]
public static DateTime ToDateTime (ushort value);
static member ToDateTime : uint16 -> DateTime
Public Shared Function ToDateTime (value As UShort) As DateTime

Parámetros

value
UInt16

Entero de 16 bits sin signo que se va a convertir.The 16-bit unsigned integer to convert.

Devoluciones

No se admite esta conversión.This conversion is not supported. No se devuelve ningún valor.No value is returned.

Atributos

Excepciones

No se admite esta conversión.This conversion is not supported.

Consulte también:

ToDateTime(String, IFormatProvider)

Convierte la representación de cadena especificada de un número en una fecha y hora equivalente, usando la información de formato específica de la referencia cultural indicada.Converts the specified string representation of a number to an equivalent date and time, using the specified culture-specific formatting information.

public:
 static DateTime ToDateTime(System::String ^ value, IFormatProvider ^ provider);
public static DateTime ToDateTime (string value, IFormatProvider provider);
static member ToDateTime : string * IFormatProvider -> DateTime
Public Shared Function ToDateTime (value As String, provider As IFormatProvider) As DateTime

Parámetros

value
String

Cadena que contiene una fecha y hora que se van a convertir.A string that contains a date and time to convert.

provider
IFormatProvider

Objeto que proporciona información de formato específica de la referencia cultural.An object that supplies culture-specific formatting information.

Devoluciones

Fecha y hora equivalente del valor de value, o la fecha y hora equivalente de MinValue si value es null.The date and time equivalent of the value of value, or the date and time equivalent of MinValue if value is null.

Excepciones

value no es una cadena de hora y fecha de formato correcto.value is not a properly formatted date and time string.

Ejemplos

En el ejemplo siguiente se convierten representaciones de cadena de valores de fecha con el método ToDateTime, utilizando un objeto IFormatProvider.The following example converts string representations of date values with the ToDateTime method, using an IFormatProvider object.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      Console.WriteLine("{0,-18}{1,-12}{2}\n", "Date String", "Culture", "Result");

      string[] cultureNames = { "en-US", "ru-RU","ja-JP" };
      string[] dateStrings = { "01/02/09", "2009/02/03",  "01/2009/03", 
                               "01/02/2009", "21/02/09", "01/22/09",  
                               "01/02/23" };
      // Iterate each culture name in the array.
      foreach (string cultureName in cultureNames)
      {
         CultureInfo culture = new CultureInfo(cultureName);
        
         // Parse each date using the designated culture.
         foreach (string dateStr in dateStrings)
         {
            DateTime dateTimeValue;
            try {
               dateTimeValue = Convert.ToDateTime(dateStr, culture);
                // Display the date and time in a fixed format.
                Console.WriteLine("{0,-18}{1,-12}{2:yyyy-MMM-dd}",
                                  dateStr, cultureName, dateTimeValue);
            }
            catch (FormatException e) { 
                Console.WriteLine("{0,-18}{1,-12}{2}", 
                                  dateStr, cultureName, e.GetType().Name);
            }
         }
         Console.WriteLine();
      }
   }
}
Imports System.Globalization

Module Example
   Public Sub Main( )
      Console.WriteLine("{0,-18}{1,-12}{2}", "Date String", "Culture", "Result")
      Console.WriteLine()

      Dim cultureNames() As String = { "en-US", "ru-RU","ja-JP" }
      Dim dateStrings() As String = { "01/02/09", "2009/02/03",  "01/2009/03", _
                                      "01/02/2009", "21/02/09", "01/22/09",   _
                                      "01/02/23" }
      ' Iterate each culture name in the array.
      For Each cultureName As String In cultureNames
         Dim culture As CultureInfo = New CultureInfo(cultureName)
        
         ' Parse each date using the designated culture.
         For Each dateStr As String In dateStrings
            Dim dateTimeValue As DateTime
            Try
               dateTimeValue = Convert.ToDateTime(dateStr, culture)
                ' Display the date and time in a fixed format.
                Console.WriteLine("{0,-18}{1,-12}{2:yyyy-MMM-dd}", _
                                  dateStr, cultureName, dateTimeValue)
            Catch e As FormatException 
                Console.WriteLine("{0,-18}{1,-12}{2}", _
                                  dateStr, cultureName, e.GetType().Name)
            End Try            
         Next
         Console.WriteLine()
      Next
   End Sub 
End Module 
' The example displays the following output:
'       Date String       Culture     Result
'       
'       01/02/09          en-US       2009-Jan-02
'       2009/02/03        en-US       2009-Feb-03
'       01/2009/03        en-US       2009-Jan-03
'       01/02/2009        en-US       2009-Jan-02
'       21/02/09          en-US       FormatException
'       01/22/09          en-US       2009-Jan-22
'       01/02/23          en-US       2023-Jan-02
'       
'       01/02/09          ru-RU       2009-Feb-01
'       2009/02/03        ru-RU       2009-Feb-03
'       01/2009/03        ru-RU       2009-Jan-03
'       01/02/2009        ru-RU       2009-Feb-01
'       21/02/09          ru-RU       2009-Feb-21
'       01/22/09          ru-RU       FormatException
'       01/02/23          ru-RU       2023-Feb-01
'       
'       01/02/09          ja-JP       2001-Feb-09
'       2009/02/03        ja-JP       2009-Feb-03
'       01/2009/03        ja-JP       2009-Jan-03
'       01/02/2009        ja-JP       2009-Jan-02
'       21/02/09          ja-JP       2021-Feb-09
'       01/22/09          ja-JP       FormatException
'       01/02/23          ja-JP       2001-Feb-23

Comentarios

El valor devuelto es el resultado de invocar el método DateTime.Parse(String, IFormatProvider) en value.The return value is the result of invoking the DateTime.Parse(String, IFormatProvider) method on value.

provider es una instancia de IFormatProvider que obtiene un objeto DateTimeFormatInfo.provider is an IFormatProvider instance that obtains a DateTimeFormatInfo object. El objeto DateTimeFormatInfo proporciona información específica de la referencia cultural sobre el formato de value.The DateTimeFormatInfo object provides culture-specific information about the format of value. Si provider es null, se utiliza el DateTimeFormatInfo de la referencia cultural actual.If provider is null, the DateTimeFormatInfo for the current culture is used.

Si prefiere no controlar una excepción si se produce un error en la conversión, puede llamar al método DateTime.TryParse en su lugar.If you prefer not to handle an exception if the conversion fails, you can call the DateTime.TryParse method instead. Devuelve un valor Boolean que indica si la conversión se realizó correctamente o no.It returns a Boolean value that indicates whether the conversion succeeded or failed.

Consulte también:

ToDateTime(UInt64)

Importante

Esta API no es conforme a CLS.

Cuando se llama a este método, siempre se produce InvalidCastException.Calling this method always throws InvalidCastException.

public:
 static DateTime ToDateTime(System::UInt64 value);
[System.CLSCompliant(false)]
public static DateTime ToDateTime (ulong value);
static member ToDateTime : uint64 -> DateTime
Public Shared Function ToDateTime (value As ULong) As DateTime

Parámetros

value
UInt64

Entero de 64 bits sin signo que se va a convertir.The 64-bit unsigned integer to convert.

Devoluciones

No se admite esta conversión.This conversion is not supported. No se devuelve ningún valor.No value is returned.

Atributos

Excepciones

No se admite esta conversión.This conversion is not supported.

Consulte también:

ToDateTime(Object, IFormatProvider)

Convierte el valor del objeto especificado en un objeto DateTime, usando la información de formato específica de la referencia cultural indicada.Converts the value of the specified object to a DateTime object, using the specified culture-specific formatting information.

public:
 static DateTime ToDateTime(System::Object ^ value, IFormatProvider ^ provider);
public static DateTime ToDateTime (object value, IFormatProvider provider);
static member ToDateTime : obj * IFormatProvider -> DateTime
Public Shared Function ToDateTime (value As Object, provider As IFormatProvider) As DateTime

Parámetros

value
Object

Objeto que implementa la interfaz IConvertible.An object that implements the IConvertible interface.

provider
IFormatProvider

Objeto que proporciona información de formato específica de la referencia cultural.An object that supplies culture-specific formatting information.

Devoluciones

Fecha y hora equivalente del valor de value, o la fecha y hora equivalente de MinValue si value es null.The date and time equivalent of the value of value, or the date and time equivalent of MinValue if value is null.

Excepciones

value no es un valor de hora y fecha válida.value is not a valid date and time value.

value no implementa la interfaz IConvertible.value does not implement the IConvertible interface.

o bien-or- No se admite la conversión.The conversion is not supported.

Ejemplos

En el ejemplo siguiente se define un proveedor de formato personalizado, CustomProvider, cuyo método de GetFormat envía un mensaje a la consola de que se ha invocado y, a continuación, devuelve el objeto DateTimeFormatInfo de la referencia cultural cuyo nombre se pasó como parámetro a su constructor de clase.The following example defines a custom format provider, CustomProvider, whose GetFormat method outputs a message to the console that it has been invoked, and then returns the DateTimeFormatInfo object of the culture whose name was passed as a parameter to its class constructor. Cada uno de estos objetos CustomProvider se utiliza para convertir los elementos de una matriz de objetos en valores de fecha y hora.Each of these CustomProvider objects is used to convert the elements in an object array to date and time values. La salida indica que el objeto de CustomProvider se usa en la conversión solo cuando el tipo del parámetro value es un String.The output indicates that the CustomProvider object is used in the conversion only when the type of the value parameter is a String.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string[] cultureNames = { "en-US", "hu-HU", "pt-PT" };
      object[] objects = { 12, 17.2, false, new DateTime(2010, 1, 1), "today", 
                           new System.Collections.ArrayList(), 'c', 
                           "05/10/2009 6:13:18 PM", "September 8, 1899" };
      
      foreach (string cultureName in cultureNames)
      {
         Console.WriteLine("{0} culture:", cultureName);
         CustomProvider provider = new CustomProvider(cultureName);
         foreach (object obj in objects)
         {            
            try {
               DateTime dateValue = Convert.ToDateTime(obj, provider);      
               Console.WriteLine("{0} --> {1}", obj, 
                                 dateValue.ToString(new CultureInfo(cultureName)));
            }
            catch (FormatException) {
               Console.WriteLine("{0} --> Bad Format", obj);
            }   
            catch (InvalidCastException) {
               Console.WriteLine("{0} --> Conversion Not Supported", obj);
            }
         }
         Console.WriteLine();
      }
   }
}

public class CustomProvider : IFormatProvider
{
   private string cultureName;
   
   public CustomProvider(string cultureName)
   {
      this.cultureName = cultureName;
   }
   
   public object GetFormat(Type formatType)
   {
      if (formatType == typeof(DateTimeFormatInfo))
      {
         Console.Write("(CustomProvider retrieved.) ");
         return new CultureInfo(cultureName).GetFormat(formatType);
      }
      else
      {
         return null;
      }   
   }
}
// The example displays the following output:
//    en-US culture:
//    12 --> Conversion Not Supported
//    17.2 --> Conversion Not Supported
//    False --> Conversion Not Supported
//    1/1/2010 12:00:00 AM --> 1/1/2010 12:00:00 AM
//    (CustomProvider retrieved.) today --> Bad Format
//    System.Collections.ArrayList --> Conversion Not Supported
//    c --> Conversion Not Supported
//    (CustomProvider retrieved.) 05/10/2009 6:13:18 PM --> 5/10/2009 6:13:18 PM
//    (CustomProvider retrieved.) September 8, 1899 --> 9/8/1899 12:00:00 AM
//    
//    hu-HU culture:
//    12 --> Conversion Not Supported
//    17.2 --> Conversion Not Supported
//    False --> Conversion Not Supported
//    1/1/2010 12:00:00 AM --> 2010. 01. 01. 0:00:00
//    (CustomProvider retrieved.) today --> Bad Format
//    System.Collections.ArrayList --> Conversion Not Supported
//    c --> Conversion Not Supported
//    (CustomProvider retrieved.) 05/10/2009 6:13:18 PM --> 2009. 05. 10. 18:13:18
//    (CustomProvider retrieved.) September 8, 1899 --> 1899. 09. 08. 0:00:00
//    
//    pt-PT culture:
//    12 --> Conversion Not Supported
//    17.2 --> Conversion Not Supported
//    False --> Conversion Not Supported
//    1/1/2010 12:00:00 AM --> 01-01-2010 0:00:00
//    (CustomProvider retrieved.) today --> Bad Format
//    System.Collections.ArrayList --> Conversion Not Supported
//    c --> Conversion Not Supported
//    (CustomProvider retrieved.) 05/10/2009 6:13:18 PM --> 05-10-2009 18:13:18
//    (CustomProvider retrieved.) September 8, 1899 --> 08-09-1899 0:00:00
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim cultureNames() As String = { "en-US", "hu-HU", "pt-PT" }
      Dim objects() As Object = { 12, 17.2, False, #1/1/2010#, "today", _
                                  New System.Collections.ArrayList(), "c"c, _
                                  "05/10/2009 6:13:18 PM", "September 8, 1899" }
      
      For Each cultureName As String In cultureNames
         Console.WriteLine("{0} culture:", cultureName)
         Dim provider As New CustomProvider(cultureName)
         For Each obj As Object In objects
            Try
               Dim dateValue As Date = Convert.ToDateTime(obj, provider)      
               Console.WriteLine("{0} --> {1}", obj, _
                                 dateValue.ToString(New CultureInfo(cultureName)))
            Catch e As FormatException
               Console.WriteLine("{0} --> Bad Format", obj)
            Catch e As InvalidCastException
               Console.WriteLine("{0} --> Conversion Not Supported", obj)
            End Try
         Next
         Console.WriteLine()
      Next
   End Sub
End Module

Public Class CustomProvider : Implements IFormatProvider
   Private cultureName As String
   
   Public Sub New(cultureName As String)
      Me.cultureName = cultureName
   End Sub
   
   Public Function GetFormat(formatType As Type) As Object _
          Implements IFormatProvider.GetFormat
      If formatType Is GetType(DateTimeFormatInfo) Then
         Console.Write("(CustomProvider retrieved.) ")
         Return New CultureInfo(cultureName).GetFormat(formatType)
      Else
         Return Nothing
      End If   
   End Function
End Class
' The example displays the following output:
'    en-US culture:
'    12 --> Conversion Not Supported
'    17.2 --> Conversion Not Supported
'    False --> Conversion Not Supported
'    1/1/2010 12:00:00 AM --> 1/1/2010 12:00:00 AM
'    (CustomProvider retrieved.) today --> Bad Format
'    System.Collections.ArrayList --> Conversion Not Supported
'    c --> Conversion Not Supported
'    (CustomProvider retrieved.) 05/10/2009 6:13:18 PM --> 5/10/2009 6:13:18 PM
'    (CustomProvider retrieved.) September 8, 1899 --> 9/8/1899 12:00:00 AM
'    
'    hu-HU culture:
'    12 --> Conversion Not Supported
'    17.2 --> Conversion Not Supported
'    False --> Conversion Not Supported
'    1/1/2010 12:00:00 AM --> 2010. 01. 01. 0:00:00
'    (CustomProvider retrieved.) today --> Bad Format
'    System.Collections.ArrayList --> Conversion Not Supported
'    c --> Conversion Not Supported
'    (CustomProvider retrieved.) 05/10/2009 6:13:18 PM --> 2009. 05. 10. 18:13:18
'    (CustomProvider retrieved.) September 8, 1899 --> 1899. 09. 08. 0:00:00
'    
'    pt-PT culture:
'    12 --> Conversion Not Supported
'    17.2 --> Conversion Not Supported
'    False --> Conversion Not Supported
'    1/1/2010 12:00:00 AM --> 01-01-2010 0:00:00
'    (CustomProvider retrieved.) today --> Bad Format
'    System.Collections.ArrayList --> Conversion Not Supported
'    c --> Conversion Not Supported
'    (CustomProvider retrieved.) 05/10/2009 6:13:18 PM --> 05-10-2009 18:13:18
'    (CustomProvider retrieved.) September 8, 1899 --> 08-09-1899 0:00:00

Comentarios

El valor devuelto es el resultado de invocar el método IConvertible.ToDateTime del tipo subyacente de value.The return value is the result of invoking the IConvertible.ToDateTime method of the underlying type of value.

provider permite al usuario especificar la información de conversión específica de la referencia cultural sobre el contenido de value.provider enables the user to specify culture-specific conversion information about the contents of value. Por ejemplo, si value es una String que representa una fecha, provider podría proporcionar información específica de la referencia cultural sobre la notación utilizada para representar esa fecha.For example, if value is a String that represents a date, provider could supply culture-specific information about the notation used to represent that date. provider está implicado en la conversión de value si el tipo en tiempo de ejecución de value es un String, o si value es un tipo definido por el usuario cuya implementación de IConvertible.ToDateTime utiliza provider.provider is involved in the conversion of value if the runtime type of value is a String, or if value is a user-defined type whose IConvertible.ToDateTime implementation makes use of provider. Si el tipo en tiempo de ejecución de value es String y provider es null, se utiliza el objeto CultureInfo que representa la referencia cultural del subproceso actual.If the runtime type of value is String and provider is null, the CultureInfo object that represents the current thread culture is used.

Consulte también:

ToDateTime(SByte)

Importante

Esta API no es conforme a CLS.

Cuando se llama a este método, siempre se produce InvalidCastException.Calling this method always throws InvalidCastException.

public:
 static DateTime ToDateTime(System::SByte value);
[System.CLSCompliant(false)]
public static DateTime ToDateTime (sbyte value);
static member ToDateTime : sbyte -> DateTime
Public Shared Function ToDateTime (value As SByte) As DateTime

Parámetros

value
SByte

Entero de 8 bits con signo que se va a convertir.The 8-bit signed integer to convert.

Devoluciones

No se admite esta conversión.This conversion is not supported. No se devuelve ningún valor.No value is returned.

Atributos

Excepciones

No se admite esta conversión.This conversion is not supported.

Consulte también:

ToDateTime(UInt32)

Importante

Esta API no es conforme a CLS.

Cuando se llama a este método, siempre se produce InvalidCastException.Calling this method always throws InvalidCastException.

public:
 static DateTime ToDateTime(System::UInt32 value);
[System.CLSCompliant(false)]
public static DateTime ToDateTime (uint value);
static member ToDateTime : uint32 -> DateTime
Public Shared Function ToDateTime (value As UInteger) As DateTime

Parámetros

value
UInt32

Entero de 32 bits sin signo que se va a convertir.The 32-bit unsigned integer to convert.

Devoluciones

No se admite esta conversión.This conversion is not supported. No se devuelve ningún valor.No value is returned.

Atributos

Excepciones

No se admite esta conversión.This conversion is not supported.

Consulte también:

ToDateTime(Object)

Convierte el valor del objeto especificado en un objeto DateTime.Converts the value of the specified object to a DateTime object.

public:
 static DateTime ToDateTime(System::Object ^ value);
public static DateTime ToDateTime (object value);
static member ToDateTime : obj -> DateTime
Public Shared Function ToDateTime (value As Object) As DateTime

Parámetros

value
Object

Objeto que implementa la interfaz IConvertible o null.An object that implements the IConvertible interface, or null.

Devoluciones

Fecha y hora equivalente del valor de value, o fecha y hora equivalente de MinValue si value es null.The date and time equivalent of the value of value, or a date and time equivalent of MinValue if value is null.

Excepciones

value no es un valor de hora y fecha válida.value is not a valid date and time value.

value no implementa la interfaz IConvertible.value does not implement the IConvertible interface.

o bien-or- No se admite la conversión.The conversion is not supported.

Ejemplos

En el ejemplo siguiente se llama al método ToDateTime(Object) con diversas variables de Object.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;
      ConvertToDateTime(number);
      
      // Convert a null.
      object obj = null;
      ConvertToDateTime(obj);
      
      // Convert a non-date string.
      string nonDateString = "monthly";
      ConvertToDateTime(nonDateString);
      
      // Try to convert various date strings.
      string dateString; 
      dateString = "05/01/1996";
      ConvertToDateTime(dateString);
      dateString = "Tue Apr 28, 2009";
      ConvertToDateTime(dateString);
      dateString = "06 July 2008 7:32:47 AM";
      ConvertToDateTime(dateString);
      dateString = "17:32:47.003";
      ConvertToDateTime(dateString);
   }

   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.
Module ConversionToDateTime
   Public Sub Main()
      ' Try converting an integer.
      Dim number As Integer = 16352
      ConvertToDateTime(number)
      
      ' Convert a null.
      Dim obj As Object = Nothing
      ConvertToDateTime(obj)
      
      ' Convert a non-date string.
      Dim nonDateString As String = "monthly"
      ConvertToDateTime(nonDateString)
      
      ' Try to convert various dates.
      Dim dateString As String 
      dateString = "05/01/1996"
      ConvertToDateTime(dateString)
      dateString = "Tue Apr 28, 2009"
      ConvertToDateTime(dateString)
      dateString = "06 July 2008 7:32:47 AM"
      ConvertToDateTime(dateString)
      dateString = "17:32:47.003"
      ConvertToDateTime(dateString)
   End Sub
   
   Private Sub ConvertToDateTime(value As Object)
      Dim convertedDate As Date
      Try
         convertedDate = Convert.ToDateTime(value)
         Console.WriteLine("'{0}' converts to {1}.", value, convertedDate)
      Catch e As FormatException
         Console.WriteLine("'{0}' is not in the proper format.", value)
      Catch e As InvalidCastException
         Console.WriteLine("Conversion of the {0} '{1}' is not supported", _
                           value.GetType().Name, value)
      End Try
   End Sub
End Module
' 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.

Comentarios

Para que la conversión se realice correctamente, el tipo en tiempo de ejecución del parámetro value debe ser DateTime o String, o value debe ser null.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. De lo contrario, el método produce una InvalidCastException.Otherwise, the method throws an InvalidCastException. Además, si value es una cadena, debe contener una representación válida de un valor de fecha y hora en la referencia cultural actual o se produce una FormatException.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.

El valor devuelto es el resultado de invocar el método IConvertible.ToDateTime del tipo subyacente de value.The return value is the result of invoking the IConvertible.ToDateTime method of the underlying type of value.

ToDateTime(Double)

Cuando se llama a este método, siempre se produce InvalidCastException.Calling this method always throws InvalidCastException.

public:
 static DateTime ToDateTime(double value);
public static DateTime ToDateTime (double value);
static member ToDateTime : double -> DateTime
Public Shared Function ToDateTime (value As Double) As DateTime

Parámetros

value
Double

Valor de punto flotante de precisión doble que se va a convertir.The double-precision floating-point value to convert.

Devoluciones

No se admite esta conversión.This conversion is not supported. No se devuelve ningún valor.No value is returned.

Excepciones

No se admite esta conversión.This conversion is not supported.

Consulte también:

ToDateTime(Int32)

Cuando se llama a este método, siempre se produce InvalidCastException.Calling this method always throws InvalidCastException.

public:
 static DateTime ToDateTime(int value);
public static DateTime ToDateTime (int value);
static member ToDateTime : int -> DateTime
Public Shared Function ToDateTime (value As Integer) As DateTime

Parámetros

value
Int32

Entero de 32 bits con signo que se va a convertir.The 32-bit signed integer to convert.

Devoluciones

No se admite esta conversión.This conversion is not supported. No se devuelve ningún valor.No value is returned.

Excepciones

No se admite esta conversión.This conversion is not supported.

Consulte también:

ToDateTime(Boolean)

Cuando se llama a este método, siempre se produce InvalidCastException.Calling this method always throws InvalidCastException.

public:
 static DateTime ToDateTime(bool value);
public static DateTime ToDateTime (bool value);
static member ToDateTime : bool -> DateTime
Public Shared Function ToDateTime (value As Boolean) As DateTime

Parámetros

value
Boolean

Valor booleano que se va a convertir.The Boolean value to convert.

Devoluciones

No se admite esta conversión.This conversion is not supported. No se devuelve ningún valor.No value is returned.

Excepciones

No se admite esta conversión.This conversion is not supported.

Consulte también:

ToDateTime(Byte)

Cuando se llama a este método, siempre se produce InvalidCastException.Calling this method always throws InvalidCastException.

public:
 static DateTime ToDateTime(System::Byte value);
public static DateTime ToDateTime (byte value);
static member ToDateTime : byte -> DateTime
Public Shared Function ToDateTime (value As Byte) As DateTime

Parámetros

value
Byte

Entero de 8 bits sin signo que se va a convertir.The 8-bit unsigned integer to convert.

Devoluciones

No se admite esta conversión.This conversion is not supported. No se devuelve ningún valor.No value is returned.

Excepciones

No se admite esta conversión.This conversion is not supported.

Consulte también:

ToDateTime(Char)

Cuando se llama a este método, siempre se produce InvalidCastException.Calling this method always throws InvalidCastException.

public:
 static DateTime ToDateTime(char value);
public static DateTime ToDateTime (char value);
static member ToDateTime : char -> DateTime
Public Shared Function ToDateTime (value As Char) As DateTime

Parámetros

value
Char

Carácter Unicode que se va a convertir.The Unicode character to convert.

Devoluciones

No se admite esta conversión.This conversion is not supported. No se devuelve ningún valor.No value is returned.

Excepciones

No se admite esta conversión.This conversion is not supported.

Consulte también:

ToDateTime(Int64)

Cuando se llama a este método, siempre se produce InvalidCastException.Calling this method always throws InvalidCastException.

public:
 static DateTime ToDateTime(long value);
public static DateTime ToDateTime (long value);
static member ToDateTime : int64 -> DateTime
Public Shared Function ToDateTime (value As Long) As DateTime

Parámetros

value
Int64

Entero de 64 bits con signo que se va a convertir.The 64-bit signed integer to convert.

Devoluciones

No se admite esta conversión.This conversion is not supported. No se devuelve ningún valor.No value is returned.

Excepciones

No se admite esta conversión.This conversion is not supported.

Consulte también:

ToDateTime(Decimal)

Cuando se llama a este método, siempre se produce InvalidCastException.Calling this method always throws InvalidCastException.

public:
 static DateTime ToDateTime(System::Decimal value);
public static DateTime ToDateTime (decimal value);
static member ToDateTime : decimal -> DateTime
Public Shared Function ToDateTime (value As Decimal) As DateTime

Parámetros

value
Decimal

Número que se va a convertir.The number to convert.

Devoluciones

No se admite esta conversión.This conversion is not supported. No se devuelve ningún valor.No value is returned.

Excepciones

No se admite esta conversión.This conversion is not supported.

ToDateTime(Int16)

Cuando se llama a este método, siempre se produce InvalidCastException.Calling this method always throws InvalidCastException.

public:
 static DateTime ToDateTime(short value);
public static DateTime ToDateTime (short value);
static member ToDateTime : int16 -> DateTime
Public Shared Function ToDateTime (value As Short) As DateTime

Parámetros

value
Int16

Entero de 16 bits con signo que se va a convertir.The 16-bit signed integer to convert.

Devoluciones

No se admite esta conversión.This conversion is not supported. No se devuelve ningún valor.No value is returned.

Excepciones

No se admite esta conversión.This conversion is not supported.

Consulte también:

ToDateTime(DateTime)

Devuelve el objeto DateTime especificado; no se efectúa una conversión real.Returns the specified DateTime object; no actual conversion is performed.

public:
 static DateTime ToDateTime(DateTime value);
public static DateTime ToDateTime (DateTime value);
static member ToDateTime : DateTime -> DateTime
Public Shared Function ToDateTime (value As DateTime) As DateTime

Parámetros

value
DateTime

Valor de fecha y hora.A date and time value.

Devoluciones

value se devuelve sin cambios.value is returned unchanged.

Se aplica a