Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Mengumpulkan Objek DateTime kepada X Minit Terdekat?

Bagaimanakah Saya Boleh Mengumpulkan Objek DateTime kepada X Minit Terdekat?

Linda Hamilton
Lepaskan: 2025-01-06 19:35:41
asal
966 orang telah melayarinya

How Can I Round Up a DateTime Object to the Nearest X Minutes?

Membundarkan Masa 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.

Pelaksanaan

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);
}
Salin selepas log masuk

Penggunaan

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}
Salin selepas log masuk

Ini akan membundarkan masa kepada selang 15 minit yang terdekat, menghasilkan 17:00 dalam contoh di atas.

Contoh Tambahan

  • Membundarkan kepada 30 terdekat minit:
var dt2 = RoundUp(DateTime.Parse("2011-08-11 17:11"), TimeSpan.FromMinutes(30));
// dt2 == {11/08/2011 17:30:00}
Salin selepas log masuk
  • Membundar kepada 60 minit terdekat (1 jam):
var dt3 = RoundUp(DateTime.Parse("2011-08-11 18:05"), TimeSpan.FromMinutes(60));
// dt3 == {11/08/2011 19:00:00}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan