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

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

Susan Sarandon
リリース: 2025-01-18 22:07:11
オリジナル
896 人が閲覧しました

How to Truncate Milliseconds from a .NET DateTime Object?

.NET DateTime オブジェクトからミリ秒を削除する

さまざまなソースからのタイムスタンプを操作する場合、.NET DateTime オブジェクトからミリ秒を削除して精度を調整することが重要になることがよくあります。このガイドでは、組み込み関数とカスタム拡張メソッドを使用した効率的な方法について詳しく説明します。

組み込みメソッドの使用:

組み込み関数を使用してミリ秒を削除するには、DateTime プロパティを維持しながら、Ticks で除算した後の剰余を減算して、TimeSpan.TicksPerSecondKind プロパティを調整します。

<code class="language-csharp">DateTime dateTime = ... any DateTime value ...;
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 TruncateMilliseconds(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.TruncateMilliseconds(TimeSpan.FromMilliseconds(1)); // Remove milliseconds
dateTime = dateTime.TruncateMilliseconds(TimeSpan.FromSeconds(1));   // Truncate to seconds
dateTime = dateTime.TruncateMilliseconds(TimeSpan.FromMinutes(1));   // Truncate to minutes
// ... and so on</code>
ログイン後にコピー

これらの手法は、.NET DateTime オブジェクトからミリ秒を削除する簡単な方法を提供し、異なるシステム間で一貫したタイムスタンプの比較を保証します。

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

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