首頁 > 後端開發 > C++ > 如何從 .NET DateTime 物件截斷毫秒?

如何從 .NET DateTime 物件截斷毫秒?

Susan Sarandon
發布: 2025-01-18 22:07:11
原創
943 人瀏覽過

How to Truncate Milliseconds from a .NET DateTime Object?

從 .NET DateTime 物件中刪除毫秒

當使用來自不同來源的時間戳時,透過從 .NET DateTime 物件中刪除毫秒來對齊精確度通常至關重要。本指南詳細介紹了使用內建函數和自訂擴充方法的有效方法。

使用內建方法:

要使用內建函數消除毫秒,請透過減去以 DateTime 後的餘數來調整 TicksTimeSpan.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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板