ホームページ > バックエンド開発 > C++ > C#でDateTimeを最も近いX分に切り上げる方法は?

C#でDateTimeを最も近いX分に切り上げる方法は?

Susan Sarandon
リリース: 2025-01-06 18:59:44
オリジナル
706 人が閲覧しました

How to Round Up a DateTime to the Nearest X Minutes in C#?

C を使用して DateTime を最も近い X 分に切り上げる方法

DateTime を最も近い指定された分数に切り上げることは、さまざまなシナリオで役立ちます。 。このタスクに対するシンプルで効率的な解決策は次のとおりです:

  1. RoundUp ユーティリティ関数の作成:
public static DateTime RoundUp(DateTime dt, TimeSpan d)
{
    return new DateTime((dt.Ticks + d.Ticks - 1) / d.Ticks * d.Ticks, dt.Kind);
}
ログイン後にコピー
  1. 使用法:

へDateTime を最も近い 15 分に切り上げるには、次のコードを使用します:

var dt1 = RoundUp(DateTime.Parse("2011-08-11 16:59"), TimeSpan.FromMinutes(15));
// dt1 == {11/08/2011 17:00:00}
ログイン後にコピー
  1. コードの理解:
  • RoundUp 関数は、四捨五入を表す DateTime (dt) と TimeSpan (d) を受け取ります。間隔。
  • 式 (dt.Ticks d.Ticks - 1) は、d.Ticks で割り切れる最も近いティック値を計算します。
  • d.Ticks による除算と乗算により、結果が確実に丸められます。
  • 計算されたティックと同じ種類を使用して新しい DateTime が作成されます。 (ローカル/UTC) を元の DateTime として使用します。

出力例:

  • 入力: 2011-08-11 16:59
  • 結果: 2011-08-11 17:00

追加メモ:

  • このアプローチでは、タイムゾーンに関係なく、間隔の最も近い整数に切り上げられます。
  • 切り捨てるには、(dt.Ticks d.Ticks - 1) を (dt.Ticks) に置き換えます。 1).

以上がC#でDateTimeを最も近いX分に切り上げる方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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