Maison >développement back-end >C++ >Comment tronquer les millisecondes d'un DateTime .NET ?
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!