Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mengumpulkan Objek DateTime kepada X Minit Terdekat?
Apabila berurusan dengan cap masa, nilai masa selalunya perlu dibundarkan kepada selang waktu tertentu. Sebagai contoh, anda mungkin perlu membundarkan masa kepada 15 minit yang terdekat, terutamanya apabila bekerja dengan sistem penjadualan atau janji temu.
Untuk menangani keperluan ini, terdapat fungsi serba boleh yang membolehkan pembulatan ringkas bagi sesuatu DateTime objek kepada X minit terdekat.
Coretan kod berikut mempamerkan fungsi yang disebutkan di atas:
DateTime RoundUp(DateTime dt, TimeSpan d) { return new DateTime((dt.Ticks + d.Ticks - 1) / d.Ticks * d.Ticks, dt.Kind); }
Untuk menggunakan fungsi ini, hanya sediakan DateTime yang ingin anda bulatkan dan selang (TimeSpan) untuk dibundarkan. Contohnya, untuk membundarkan kepada 15 minit terdekat:
var dt1 = RoundUp(DateTime.Parse("2011-08-11 16:59"), TimeSpan.FromMinutes(15)); // dt1 == {11/08/2011 17:00:00}
Ini akan membundarkan masa kepada selang 15 minit yang terdekat, menghasilkan 17:00 dalam contoh di atas.
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}
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengumpulkan Objek DateTime kepada X Minit Terdekat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!