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

How to Truncate Milliseconds from a .NET DateTime Object?

Susan Sarandon
Release: 2025-01-18 22:07:11
Original
965 people have browsed it

How to Truncate Milliseconds from a .NET DateTime Object?

Removing Milliseconds from .NET DateTime Objects

When working with timestamps from various sources, aligning precision by removing milliseconds from a .NET DateTime object is often crucial. This guide details efficient methods using built-in functions and a custom extension method.

Using Built-in Methods:

To eliminate milliseconds using built-in functions, adjust the DateTime's Ticks property by subtracting the remainder after division by TimeSpan.TicksPerSecond, while preserving the Kind property:

DateTime dateTime = ... any DateTime value ...;
dateTime = new DateTime(
    dateTime.Ticks - (dateTime.Ticks % TimeSpan.TicksPerSecond), 
    dateTime.Kind
);
Copy after login

Concise Alternative:

A more compact equivalent:

dateTime = dateTime.AddTicks(-(dateTime.Ticks % TimeSpan.TicksPerSecond));
Copy after login

Extension Method for Reusability:

For broader application, create an extension method:

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));
}
Copy after login

Practical Application:

This extension method allows truncation to various intervals:

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
Copy after login

These techniques provide straightforward ways to remove milliseconds from .NET DateTime objects, ensuring consistent timestamp comparisons across different systems.

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

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