Was ist der beste Weg, um festzustellen, ob ein System.DateTime ist Mitternacht?
Es scheint, dass es gibt mehrere Möglichkeiten, um zu bestimmen, ob ein gegebenes System.DateTime repräsentiert Mitternacht. Was sind die vor-und Nachteile der einzelnen? Ist ein mehr lesbar oder besser als die anderen?
EDIT: ich glaube, dass die Lesbarkeit ist wichtiger als die Leistung, bis die Profilerstellung zeigt, dass es ein Problem gibt. Das ist, warum ich fragte über die beiden.
Beispiel 1
Public Function IsMidnight(ByVal value As Date) As Boolean
Return value.TimeOfDay = TimeSpan.FromHours(0)
End Function
Beispiel 2
Public Function IsMidnight(ByVal value As Date) As Boolean
Return value.CompareTo(value.[Date]) = 0
End Function
- Meine Beispiele sind in VB.NET denn das ist, was ich bin derzeit mit Professionell. Aber diese Frage gilt für alle Sprachen .NET-Framework.
- Für diejenigen neugierig über die Verwendung, die ich bin überprüfung für DateTimes eingetragen von Datum-Felder vs. diejenigen, die durch Datum-Zeit-Felder.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich würde prüfen (mit C# für das Beispiel):
IMO, das ist einfacher als mit
FromHours
etc, und nicht um irgendwelche zusätzlichen Multiplikation (seitTicks
definiert dieTimeSpan
- alle anderen Eigenschaften werden berechnet).DateTime.Now
, natürlich, aber es macht den job als angegeben...Dies ist ein wenig von Mikro-Optimierung, entweder die Methode würde funktionieren.
Jedenfalls, ich denke, das ist, was würde am besten erfüllen:
Wenn Sie möchten, verständlichen code, vielleicht ist das beste:
Hängt. Möchten Sie prüfen, ob für genau um Mitternacht bis zum zweiten, oder einfach nur, dass es die Mitternachtsstunde?
Für die Mitternachtsstunde
Midnight Stunde und minute
Rein, einfach, genau zu Mitternacht, die Sie verwenden können, Ihrem Beispiel. Aber das wird auch überprüft, bis auf die Millisekunde, das kann nicht sein, was Sie wollen.