ホームページ > バックエンド開発 > C++ > .NET DateTime からミリ秒を切り捨てるにはどうすればよいですか?

.NET DateTime からミリ秒を切り捨てるにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-18 22:01:17
オリジナル
396 人が閲覧しました

How to Truncate Milliseconds from a .NET DateTime?

.NET DateTime からミリ秒を切り捨てる

SQL Server のタイムスタンプに格納されるミリ秒という固有の精度は、この精度に欠ける受信リクエストのタイムスタンプと比較するときに問題を引き起こす可能性があります。この不一致を考慮するには、ミリ秒を切り捨てることが一般的な解決策です。

これは次の方法で実現できます:

<code class="language-csharp">DateTime dateTime = ... 任何值 ...;
dateTime = new DateTime(
    dateTime.Ticks - (dateTime.Ticks % TimeSpan.TicksPerSecond), 
    dateTime.Kind
    );</code>
ログイン後にコピー

または、より簡潔な構文を使用することもできます:

<code class="language-csharp">dateTime = dateTime.AddTicks(-(dateTime.Ticks % TimeSpan.TicksPerSecond));</code>
ログイン後にコピー

また、拡張メソッドはこの概念を一般化できます:

<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>
ログイン後にコピー

この拡張メソッドを使用するには、目的の切り捨て間隔を指定するだけです:

<code class="language-csharp">dateTime = dateTime.Truncate(TimeSpan.FromMilliseconds(1)); // 截断到整毫秒
dateTime = dateTime.Truncate(TimeSpan.FromSeconds(1)); // 截断到整秒</code>
ログイン後にコピー

以上が.NET DateTime からミリ秒を切り捨てるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート