Round Up DateTime to Nearest Time Increment
Dalam banyak senario pengaturcaraan, membulatkan nilai DateTime kepada kenaikan masa khusus yang terdekat menjadi perlu. Sebagai contoh, keperluan biasa adalah untuk membundarkan kepada 15 minit terdekat untuk menyelaraskan dengan kekangan jadual perniagaan.
Untuk menangani keperluan ini, fungsi mudah dan berkesan dipanggil RoundUp boleh digunakan. Ia memerlukan dua parameter: nilai DateTime dan TimeSpan mewakili kenaikan yang diingini.
Pelaksanaan Fungsi:
public static DateTime RoundUp(DateTime dt, TimeSpan d) { return new DateTime((dt.Ticks + d.Ticks - 1) / d.Ticks * d.Ticks, dt.Kind); }
Penggunaan:
Coretan kod berikut menunjukkan cara menggunakan fungsi RoundUp pada pelbagai DateTime nilai dengan kenaikan 15 minit:
// 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}
Dalam contoh ini:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengumpul DateTime kepada Kenaikan Masa Terdekat dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!