Ich möchte nicht, dass der Benutzer das Datum oder die Uhrzeit zurückgibt.
Wie kann ich vergleichen, ob das eingegebene Datum und die eingegebene Uhrzeit WENIGER als die aktuelle Uhrzeit sind?
Wenn das aktuelle Datum und die aktuelle Uhrzeit der 17. Juni 2010, 12:25 Uhr, ist, möchte ich, dass der Benutzer kein Datum vor dem 17. Juni 2010 und keine Uhrzeit vor 12:25 Uhr angeben kann.
Wie meine Funktion return false, wenn die vom Benutzer eingegebene Zeit der 16. Juni 2010 und die Zeit 12:24 Uhr ist
Microsoft hat auch die Operatoren '<' und '>' implementiert. Sie verwenden diese also, um zwei Daten zu vergleichen.
quelle
date1.ToLocalTime() < DateTime.Now
oder seindate1.ToUniversalTime() < DateTime.UtcNow
.Die Antwort von MuSTaNG sagt alles, aber ich füge sie noch hinzu, um sie etwas ausführlicher zu gestalten, mit Links und allem.
Die konventionellen Betreiber
>
) ,<
) ,==
) ,sind
DateTime
seit .NET Framework 1.1 verfügbar . Das Addieren und Subtrahieren vonDateTime
Objekten ist auch unter Verwendung herkömmlicher Operatoren+
und möglich-
.Ein Beispiel aus MSDN:
Gleichberechtigung:Andere Operatoren können ebenfalls verwendet werden.
Hier ist die Liste aller Operatoren , für die verfügbar ist
DateTime
.quelle
+
für zweiDateTime
Operanden verwenden, die Sie ausführen könnenDateTime - DateTime
, oderDateTime + TimeSpan
, oderDateTime - TimeSpan
.Im Allgemeinen müssen Sie
DateTimes
mit dem gleichen vergleichenKind
:Erklärung von MSDN über
DateTime.Compare
(Dies gilt auch für die Betreiber wie>
,<
,==
usw.):Ein einfacher Vergleich kann daher zu einem unerwarteten Ergebnis führen, wenn damit umgegangen wird
DateTimes
, die in verschiedenen Zeitzonen dargestellt werden.quelle
Wenn Sie zwei DateTime haben, die gleich aussehen, aber Compare or Equals nicht das zurückgibt, was Sie erwarten, können Sie sie auf diese Weise vergleichen.
Hier ein Beispiel mit einer Genauigkeit von 1 Millisekunde:
quelle
quelle
DateTime
nicht vergleichenstring
Hier ist ein typisches einfaches Beispiel im Unity-Milieu
quelle
quelle