Convierte una cadena a una fecha y hora

Estoy desarrollando el sitio asp.net utilizando vb framework 3.5 .

Tengo dificultades para convertir datos de cadena en Fecha. Intenté usar la función cdate,

Tengo una fecha variable que es una variable de cadena y la fecha está almacenada en ella que viene del cuadro de texto como dd / mm / aaaa ahora quiero convertir esta cadena en una variable de fecha ya que necesito realizar las operaciones como Agregar un día o Restar un día.

Por favor, guíame sobre cómo hacer esto. Obtengo el error en la 3ª línea como, String was not recognized as a valid DateTime . Intenté hacer lo siguiente, pero el error viene

 Dim sdate As String Dim expenddt As Date expenddt = Date.Parse(edate) expenddt = expenddt.AddDays(-1) 

Pero obtengo el error como

La conversión de String a tipo Date no es válida.

¿Cómo puedo obtener una Date de la cadena?

Debería tener que usar Date.ParseExact o Date.TryParseExact con la cadena de formato correcta.

  Dim edate = "10/12/2009" Dim expenddt As Date = Date.ParseExact(edate, "dd/MM/yyyy", System.Globalization.DateTimeFormatInfo.InvariantInfo) 

O

  Dim format() = {"dd/MM/yyyy", "d/M/yyyy", "dd-MM-yyyy"} Dim expenddt As Date = Date.ParseExact(edate, format, System.Globalization.DateTimeFormatInfo.InvariantInfo, Globalization.DateTimeStyles.None) 

O

 Dim format() = {"dd/MM/yyyy", "d/M/yyyy", "dd-MM-yyyy"} Dim expenddt As Date Date.TryParseExact(edate, format, System.Globalization.DateTimeFormatInfo.InvariantInfo, Globalization.DateTimeStyles.None, expenddt) 

Intenta convertir una fecha como esta:

  Dim expenddt as Date = Date.ParseExact(edate, "dd/mm/yyyy", System.Globalization.DateTimeFormatInfo.InvariantInfo); 

Espero que esto ayude.

Nadie mencionó esto, pero en algunos casos el otro método no reconoce la fecha y hora …

Puede probar esto en su lugar, que convertirá la representación de cadena especificada de una fecha y hora en un valor de fecha y hora equivalente

 string iDate = "05/05/2005"; DateTime oDate = Convert.ToDateTime(iDate); MessageBox.Show(oDate.Day + " " + oDate.Month + " " + oDate.Year ); 

Intente utilizar el método DateTime.ParseExact, en el que puede especificar tanto la máscara de fecha y hora como la cadena analizada original. Puede leer sobre esto aquí: MSDN: DateTime.ParseExact

Intenta ver si el siguiente código te ayuda:

 Dim iDate As String = "05/05/2005" Dim oDate As DateTime = Convert.ToDateTime(iDate) 
    Intereting Posts