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)