Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Mengumpul DateTime kepada X Minit Terdekat dalam C#?

Bagaimana untuk Mengumpul DateTime kepada X Minit Terdekat dalam C#?

Susan Sarandon
Lepaskan: 2025-01-06 18:59:44
asal
768 orang telah melayarinya

How to Round Up a DateTime to the Nearest X Minutes in C#?

Cara membulatkan DateTime kepada X minit terdekat dengan C

Membundarkan DateTime kepada bilangan minit tertentu yang terdekat boleh berguna dalam pelbagai senario . Berikut ialah penyelesaian yang mudah dan cekap untuk tugas ini:

  1. Buat Fungsi Utiliti RoundUp:
public static DateTime RoundUp(DateTime dt, TimeSpan d)
{
    return new DateTime((dt.Ticks + d.Ticks - 1) / d.Ticks * d.Ticks, dt.Kind);
}
Salin selepas log masuk
  1. Penggunaan :

Untuk membulatkan DateTime kepada yang terdekat 15 minit, gunakan kod berikut:

var dt1 = RoundUp(DateTime.Parse("2011-08-11 16:59"), TimeSpan.FromMinutes(15));
// dt1 == {11/08/2011 17:00:00}
Salin selepas log masuk
  1. Memahami Kod:
  • Fungsi RoundUp mengambil masa DateTime (dt ) dan Jangka Masa (d) mewakili selang pembundaran.
  • Ungkapan (dt.Ticks d.Ticks - 1) mengira nilai tanda terdekat yang boleh dibahagikan dengan d.Ticks.
  • Pembahagian dan pendaraban dengan d.Ticks memastikan keputusan dibundarkan ke selang yang ditentukan.
  • Yang baharu DateTime dicipta dengan kutu yang dikira dan Jenis yang sama (tempatan/UTC) seperti yang asal TarikhMasa.

Contoh Output:

  • Input: 2011-08-11 16:59
  • Keputusan: 2011-08 -11 17:00

Nota Tambahan:

  • Pendekatan ini membulatkan ke nombor keseluruhan selang terdekat, tanpa mengira zon waktu.
  • Untuk bundarkan ke bawah, gantikan (dt.Ticks d.Ticks - 1) dengan (dt.Ticks 1).

Atas ialah kandungan terperinci Bagaimana untuk Mengumpul DateTime kepada X Minit Terdekat dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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