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
706 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!

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