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

Comment tronquer les millisecondes d'un DateTime .NET ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-18 22:01:17397parcourir

How to Truncate Milliseconds from a .NET DateTime?

Tronquer les millisecondes de .NET DateTime

La précision inhérente des millisecondes stockées dans les horodatages SQL Server peut poser des problèmes lorsqu'on les compare aux horodatages des requêtes entrantes qui n'ont pas cette précision. Pour tenir compte de cet écart, la troncature des millisecondes est une solution courante.

Cela peut être réalisé en utilisant les méthodes suivantes :

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

Vous pouvez également utiliser une syntaxe plus concise :

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

De plus, les méthodes d'extension peuvent généraliser ce 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>

Pour utiliser cette méthode d'extension, précisez simplement l'intervalle de troncature souhaité :

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

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