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
Libérer: 2025-01-18 21:57:13
original
314 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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

<code class="language-csharp">dateTime = dateTime.Truncate(TimeSpan.FromMilliseconds(1));</code>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal