從 .NET DateTime 物件中刪除毫秒
當使用來自不同來源的時間戳時,透過從 .NET DateTime
物件中刪除毫秒來對齊精確度通常至關重要。本指南詳細介紹了使用內建函數和自訂擴充方法的有效方法。
使用內建方法:
要使用內建函數消除毫秒,請透過減去以 DateTime
後的餘數來調整 Ticks
的 TimeSpan.TicksPerSecond
屬性,同時保留 Kind
屬性:
<code class="language-csharp">DateTime dateTime = ... any DateTime value ...; dateTime = new DateTime( dateTime.Ticks - (dateTime.Ticks % TimeSpan.TicksPerSecond), dateTime.Kind );</code>
簡潔替代方案:
更緊湊的等效形式:
<code class="language-csharp">dateTime = dateTime.AddTicks(-(dateTime.Ticks % TimeSpan.TicksPerSecond));</code>
可重複使用性擴充方法:
為了更廣泛的應用,創建一個擴充方法:
<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>
實際應用:
此擴充方法允許截斷到各種間隔:
<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>
這些技術提供了從 .NET DateTime
物件中刪除毫秒的簡單方法,確保不同系統之間的時間戳比較一致。
以上是如何從 .NET DateTime 物件截斷毫秒?的詳細內容。更多資訊請關注PHP中文網其他相關文章!