Scheint, Sie wollen Daten vergleichen, aber Sie haben den Fokus auf String-Darstellung eines Datums gehalten. Das ist nicht das Gleiche!
sehen Beispiel nehmen:
Dim DatabaseDate As DateTime = DateTime.Today.AddDays(-5)
Dim CurrentDate As DateTime = DateTime.Today
'case 1: compare and display date in current culture - depending on regional settings
Console.WriteLine("{0} {1} equal to {2}", DatabaseDate.ToString("d"), If(DatabaseDate=CurrentDate, "is", "is not") , CurrentDate.ToString("d"))
'case 2: change string representation of date:
'compare dates in France and German format
Dim cu1 As Globalization.CultureInfo = New Globalization.CultureInfo("Fr-fr")
Dim cu2 As Globalization.CultureInfo = New Globalization.CultureInfo("De-de")
DatabaseDate = DateTime.Today
Console.WriteLine("{0} {1} equal to {2}", DatabaseDate.ToString("d", cu1), If(DatabaseDate=CurrentDate, "is", "is not") , CurrentDate.ToString("d", cu2))
Above Code zurückkehrt:
'case 1
2017-06-08 is not equal to 2017-06-13
'case 2
13/06/2017 is equal to 13.06.2017
Fazit:
auf OS Je regionalen Einstellungen kann das Datumsformat unterscheiden, aber das Datum ist immer noch das Gleiche!
Für weitere Details, würde ich dringend, diese empfehlen zu lesen:
Standard Date and Time Format Strings
Custom Date and Time Format Strings
Parsing Date and Time Strings in .NET
Design and Implementation Guidelines for Web Clients
Formatting Date and Time for a Specific Culture
Welche Zeile wirft den Fehler auf? Hast du diese Zeile in deine Frage aufgenommen? Überprüfen Sie [MCVE] (https://stackoverflow.com/help/mcve). – mason
Vielleicht versuchen Sie, eine separate Variable für Date zu dimmen und dann in einer separaten Variablen und Zeile in eine Zeichenfolge zu konvertieren. –
Datum ist ein Datum und sonst nichts! Sie sollten Datum, nicht Zeichenfolge verwenden! –