DateTime を最も近い時間増分に切り上げる
多くのプログラミング シナリオでは、DateTime 値を最も近い特定の時間増分に切り上げることが必要になります。たとえば、一般的な要件は、ビジネス スケジュールの制約に合わせて 15 分単位に切り上げることです。
このニーズに対処するには、RoundUp と呼ばれるシンプルで効果的な関数を利用できます。これは、DateTime 値と、必要な増分を表す TimeSpan の 2 つのパラメーターを取ります。
関数実装:
public static DateTime RoundUp(DateTime dt, TimeSpan d) { return new DateTime((dt.Ticks + d.Ticks - 1) / d.Ticks * d.Ticks, dt.Kind); }
使用法:
次のコード スニペットは、RoundUp 関数を増分付きのさまざまな DateTime 値に適用する方法を示しています。 15 分:
// Round up to nearest 15-minute increment var dt1 = RoundUp(DateTime.Parse("2011-08-11 16:59"), TimeSpan.FromMinutes(15)); // Output: {11/08/2011 17:00:00} var dt2 = RoundUp(DateTime.Parse("2011-08-11 17:00"), TimeSpan.FromMinutes(15)); // Output: {11/08/2011 17:00:00} var dt3 = RoundUp(DateTime.Parse("2011-08-11 17:01"), TimeSpan.FromMinutes(15)); // Output: {11/08/2011 17:15:00}
この例:
以上がC# で DateTime を最も近い時間増分に切り上げるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。