Maison >développement back-end >C++ >Comment tronquer les millisecondes d'une valeur DateTime .NET ?

Comment tronquer les millisecondes d'une valeur DateTime .NET ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-18 21:57:13315parcourir

How to Truncate Milliseconds from a .NET DateTime Value?

Suppression des millisecondes des valeurs DateTime .NET

Lors de la comparaison des horodatages provenant d'une source externe avec les valeurs d'une base de données, il est souvent nécessaire d'éliminer les écarts de précision en millisecondes. Cela se produit généralement lorsque l'horodatage entrant manque de détails en millisecondes, ce qui nécessite la suppression des millisecondes de l'objet .NET DateTime.

Voici des méthodes efficaces pour supprimer les millisecondes :

Méthode 1 : Manipulation directe des tiques

Cette approche modifie directement la propriété DateTime du Ticks :

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

Méthode 2 : Utiliser AddTicks

Une alternative plus concise utilise la méthode AddTicks :

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

Méthode 3 : Méthode d'extension pour une troncature personnalisable

Pour une plus grande flexibilité, une méthode d'extension permet la troncature à n'importe quel intervalle souhaité :

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

Cette méthode d'extension permet une troncature en millisecondes avec :

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

De plus, il prend en charge la troncature en secondes ou en minutes :

<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>

Ces méthodes fournissent des solutions simples pour supprimer les millisecondes des valeurs .NET DateTime, garantissant ainsi des comparaisons d'horodatage précises quelles que soient les différences de précision.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn