Millisekunden aus .NET DateTime-Objekten entfernen
Bei der Arbeit mit Zeitstempeln aus verschiedenen Quellen ist die Anpassung der Präzision durch Entfernen von Millisekunden aus einem .NET DateTime
-Objekt oft entscheidend. In diesem Handbuch werden effiziente Methoden mithilfe integrierter Funktionen und einer benutzerdefinierten Erweiterungsmethode beschrieben.
Verwendung integrierter Methoden:
Um Millisekunden mithilfe integrierter Funktionen zu eliminieren, passen Sie die DateTime
-Eigenschaft von Ticks
an, indem Sie den Rest nach der Division durch TimeSpan.TicksPerSecond
subtrahieren und dabei die Kind
-Eigenschaft beibehalten:
<code class="language-csharp">DateTime dateTime = ... any DateTime value ...; dateTime = new DateTime( dateTime.Ticks - (dateTime.Ticks % TimeSpan.TicksPerSecond), dateTime.Kind );</code>
Kurze Alternative:
Ein kompakteres Äquivalent:
<code class="language-csharp">dateTime = dateTime.AddTicks(-(dateTime.Ticks % TimeSpan.TicksPerSecond));</code>
Erweiterungsmethode für Wiederverwendbarkeit:
Für eine breitere Anwendung erstellen Sie eine Erweiterungsmethode:
<code class="language-csharp">public static DateTime TruncateMilliseconds(this DateTime dateTime, TimeSpan timeSpan) { if (timeSpan == TimeSpan.Zero) return dateTime; if (dateTime == DateTime.MinValue || dateTime == DateTime.MaxValue) return dateTime; return dateTime.AddTicks(-(dateTime.Ticks % timeSpan.Ticks)); }</code>
Praktische Anwendung:
Diese Erweiterungsmethode ermöglicht das Abschneiden auf verschiedene Intervalle:
<code class="language-csharp">dateTime = dateTime.TruncateMilliseconds(TimeSpan.FromMilliseconds(1)); // Remove milliseconds dateTime = dateTime.TruncateMilliseconds(TimeSpan.FromSeconds(1)); // Truncate to seconds dateTime = dateTime.TruncateMilliseconds(TimeSpan.FromMinutes(1)); // Truncate to minutes // ... and so on</code>
Diese Techniken bieten einfache Möglichkeiten, Millisekunden aus .NET DateTime
-Objekten zu entfernen und so konsistente Zeitstempelvergleiche über verschiedene Systeme hinweg sicherzustellen.
Das obige ist der detaillierte Inhalt vonWie schneide ich Millisekunden aus einem .NET DateTime-Objekt ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!