タイムスタンプを扱う場合、多くの場合、時間値を特定の間隔に丸めることが必要になります。たとえば、特にスケジュールや予約システムを使用する場合は、時間を最も近い 15 分に四捨五入する必要がある場合があります。
このニーズに対処するために、時間を簡単に四捨五入できる汎用性の高い関数が存在します。 DateTime オブジェクトを最も近い X 分に変換します。
次のコード スニペットは、前述の内容を示しています。 function:
DateTime RoundUp(DateTime dt, TimeSpan d) { return new DateTime((dt.Ticks + d.Ticks - 1) / d.Ticks * d.Ticks, dt.Kind); }
この関数を使用するには、丸めたい DateTime と丸める間隔 (TimeSpan) を指定するだけです。たとえば、最も近い 15 分に切り上げるには:
var dt1 = RoundUp(DateTime.Parse("2011-08-11 16:59"), TimeSpan.FromMinutes(15)); // dt1 == {11/08/2011 17:00:00}
これにより、時刻が最も近い 15 分間隔に丸められ、上記の例では 17:00 になります。
var dt2 = RoundUp(DateTime.Parse("2011-08-11 17:11"), TimeSpan.FromMinutes(30)); // dt2 == {11/08/2011 17:30:00}
var dt3 = RoundUp(DateTime.Parse("2011-08-11 18:05"), TimeSpan.FromMinutes(60)); // dt3 == {11/08/2011 19:00:00}
以上がDateTime オブジェクトを最も近い X 分に切り上げるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。