Sto sviluppando il sito di asp.net
usando vb
framework 3.5 .
Sto avendo difficoltà a convertire i dati delle stringhe in Data Ho provato ad usare la funzione cdate,
Ho una variabile sdate che è una variabile stringa e la data è memorizzata in essa che proviene da textbox come gg / mm / aaaa ora voglio convertire questa stringa in una variabile Date in quanto ho bisogno di eseguire le operazioni come Aggiungi un giorno o Sottrai un giorno.
Per favore guidami come andare su questo. ottengo l’errore su 3a linea come, String was not recognized as a valid DateTime
. Ho provato a fare come segue, ma l’errore arriva
Dim sdate As String Dim expenddt As Date expenddt = Date.Parse(edate) expenddt = expenddt.AddDays(-1)
Ma ottengo l’errore come
La conversione da stringa a tipo data non è valida.
Come posso ottenere una Date
dalla stringa?
Dovresti utilizzare Date.ParseExact
o Date.TryParseExact
con la stringa di formato corretta.
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)
Prova a convertire la data in questo modo:
Dim expenddt as Date = Date.ParseExact(edate, "dd/mm/yyyy", System.Globalization.DateTimeFormatInfo.InvariantInfo);
Spero che questo ti aiuti.
Nessuno ha menzionato questo, ma in alcuni casi l’altro metodo non riesce a riconoscere il datetime …
È ansible provare questo, che convertirà la rappresentazione di stringa specificata di una data e un’ora in un valore di data e ora equivalente
string iDate = "05/05/2005"; DateTime oDate = Convert.ToDateTime(iDate); MessageBox.Show(oDate.Day + " " + oDate.Month + " " + oDate.Year );
Prova a utilizzare il metodo DateTime.ParseExact, in cui puoi specificare sia la maschera datetime che la stringa originale analizzata. Puoi leggerlo qui: MSDN: DateTime.ParseExact
Prova a vedere se il seguente codice ti aiuta:
Dim iDate As String = "05/05/2005" Dim oDate As DateTime = Convert.ToDateTime(iDate)