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

如何從 .NET DateTime 值截斷毫秒?

Patricia Arquette
Patricia Arquette原創
2025-01-18 21:57:13317瀏覽

How to Truncate Milliseconds from a .NET DateTime Value?

從 .NET 日期時間值中刪除毫秒

將外部來源的時間戳記與資料庫值進行比較時,通常需要消除毫秒精度差異。 當傳入時間戳缺乏毫秒詳細資訊時,通常會出現這種情況,需要從 .NET DateTime 物件中刪除毫秒。

以下是消除毫秒的有效方法:

方法一:直接 Tick 操作

此方法直接修改DateTimeTicks屬性:

<code class="language-csharp">DateTime dateTime = ...; // Your DateTime value
dateTime = new DateTime(dateTime.Ticks - (dateTime.Ticks % TimeSpan.TicksPerSecond), dateTime.Kind);</code>

方法2:使用AddTicks

更簡潔的替代方案使用 AddTicks 方法:

<code class="language-csharp">dateTime = dateTime.AddTicks(-(dateTime.Ticks % TimeSpan.TicksPerSecond));</code>

方法三:可自訂截斷的擴充方法

為了獲得更大的靈活性,擴展方法允許截斷到任何所需的間隔:

<code class="language-csharp">public static DateTime Truncate(this DateTime dateTime, TimeSpan timeSpan)
{
    return dateTime.AddTicks(-(dateTime.Ticks % timeSpan.Ticks));
}</code>

此擴充方法可以透過以下方式實現毫秒截斷:

<code class="language-csharp">dateTime = dateTime.Truncate(TimeSpan.FromMilliseconds(1));</code>

此外,它還支援截斷到秒或分鐘:

<code class="language-csharp">dateTime = dateTime.Truncate(TimeSpan.FromSeconds(1)); // Truncate to the nearest second
dateTime = dateTime.Truncate(TimeSpan.FromMinutes(1)); // Truncate to the nearest minute</code>

這些方法提供了從 .NET DateTime 值中刪除毫秒的簡單解決方案,無論精度差異如何,都確保準確的時間戳比較。

以上是如何從 .NET DateTime 值截斷毫秒?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn