Home > Backend Development > C++ > How to Truncate Milliseconds from a .NET DateTime?

How to Truncate Milliseconds from a .NET DateTime?

Linda Hamilton
Release: 2025-01-18 22:01:17
Original
439 people have browsed it

How to Truncate Milliseconds from a .NET DateTime?

Truncate milliseconds from .NET DateTime

The inherent precision of milliseconds stored in SQL Server timestamps can cause challenges when comparing them to incoming request timestamps that lack this precision. To account for this discrepancy, truncating milliseconds is a common solution.

This can be achieved using the following methods:

<code class="language-csharp">DateTime dateTime = ... 任何值 ...;
dateTime = new DateTime(
    dateTime.Ticks - (dateTime.Ticks % TimeSpan.TicksPerSecond), 
    dateTime.Kind
    );</code>
Copy after login

Alternatively, you can use a more concise syntax:

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

Also, extension methods can generalize this concept:

<code class="language-csharp">public static DateTime Truncate(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>
Copy after login

To use this extension method, simply specify the desired truncation interval:

<code class="language-csharp">dateTime = dateTime.Truncate(TimeSpan.FromMilliseconds(1)); // 截断到整毫秒
dateTime = dateTime.Truncate(TimeSpan.FromSeconds(1)); // 截断到整秒</code>
Copy after login

The above is the detailed content of How to Truncate Milliseconds from a .NET DateTime?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template