Bagaimana untuk mengira perbezaan bulanan antara tarikh dalam C#
Menentukan perbezaan bulan antara dua tarikh adalah tugas yang sangat berguna dalam pelbagai senario pengaturcaraan. Walau bagaimanapun, tidak seperti kaedah DateDiff() VB, C# tidak menyediakan fungsi ini secara langsung. Artikel ini akan meneroka kaedah alternatif untuk mengira perbezaan bulanan antara tarikh dan menangani had penggunaan TimeSpan.
Satu kaedah adalah mengira perbezaan bulanan berdasarkan perbezaan antara tahun dan bulan. Contohnya:
<code class="language-c#">int monthsDiff = ((date1.Year - date2.Year) * 12) + date1.Month - date2.Month;</code>
Formula ini menganggap bahawa hari dalam bulan tidak penting, hasilnya adalah positif untuk tarikh1 >
Jika anda lebih suka anggaran yang mewakili "purata bulan", anda boleh menggunakan kaedah berikut:
<code class="language-c#">double averageMonthsDiff = date1.Subtract(date2).Days / (365.25 / 12);</code>
Formula ini mengira anggaran bilangan bulan dengan membahagikan perbezaan hari dengan purata bilangan hari dalam setahun (365.25) dan kemudian membahagikan dengan 12.
Sila ambil perhatian bahawa untuk ujian unit, anda mesti menentukan julat tarikh terluas yang direka bentuk untuk dikendalikan oleh aplikasi anda dan mengesahkan pengiraan dengan sewajarnya.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengira Perbezaan Bulan Antara Dua Tarikh dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!