Ich entwickle eine "asp.net"-Seite unter Verwendung von "vb" Framework 3.5.
Ich habe Schwierigkeiten bei der Konvertierung von String-Daten in Datum Ich habe versucht, die Funktion cdate zu verwenden,
Ich habe eine Variable sdate, die eine String-Variable ist und in der das Datum gespeichert ist, das aus der Textbox als dd/mm/yyyy kommt. Jetzt möchte ich diesen String in eine Datumsvariable konvertieren, da ich die Operationen wie Addieren eines Tages oder Subtrahieren eines Tages durchführen muss.
Ich erhalte die Fehlermeldung in Zeile 3: "String wurde nicht als gültige DateTime erkannt". Ich habe versucht, wie folgt zu tun, aber der Fehler kommt
Dim sdate As String
Dim expenddt As Date
expenddt = Date.Parse(edate)
expenddt = expenddt.AddDays(-1)
Aber ich erhalte den Fehler als
Die Konvertierung von String in den Typ Datum ist nicht gültig.
Wie kann ich ein "Datum" aus der Zeichenkette erhalten?
Sie sollten Date.ParseExact
oder Date.TryParseExact
mit dem richtigen Formatstring verwenden.
Dim edate = "10/12/2009"
Dim expenddt As Date = Date.ParseExact(edate, "dd/MM/yyyy",
System.Globalization.DateTimeFormatInfo.InvariantInfo)
OR
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)
ODER
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)
Versuchen Sie, die Methode DateTime.ParseExact zu verwenden, bei der Sie sowohl die Datetime-Maske als auch die geparste Originalzeichenkette angeben können. Sie können hier darüber lesen: MSDN: DateTime.ParseExact
Versuchen Sie, das Datum wie folgt umzurechnen:
Dim expenddt as Date = Date.ParseExact(edate, "dd/mm/yyyy",
System.Globalization.DateTimeFormatInfo.InvariantInfo);
Ich hoffe, das hilft.