Kira hari bekerja antara dua tarikh dalam C#
Dalam C#, mengira bilangan hari bekerja antara dua tarikh ialah alat yang sangat berguna untuk penjadualan, pengurusan projek dan aplikasi lain. Terdapat beberapa cara untuk mencapainya, dengan mengambil kira hujung minggu dan kemungkinan cuti bank.
Gunakan kaedah tersuai:
Salah satu cara ialah mencipta kaedah tersuai yang mengira bilangan hari bekerja secara manual. Berikut ialah contoh:
<code class="language-csharp">public static int BusinessDaysUntil(DateTime firstDay, DateTime lastDay, params DateTime[] bankHolidays) { // 处理错误的结束日期 if (firstDay > lastDay) throw new ArgumentException("结束日期错误: " + lastDay); TimeSpan span = lastDay - firstDay; int businessDays = span.Days + 1; int fullWeekCount = businessDays / 7; // 计算周末天数 if (businessDays > fullWeekCount * 7) { int firstDayOfWeek = (int)firstDay.DayOfWeek; int lastDayOfWeek = (int)lastDay.DayOfWeek; if (lastDayOfWeek == 7) //周日 businessDays -= 2; else if (lastDayOfWeek >= 6) //周六或周日 businessDays -= 1; if (firstDayOfWeek == 7) //周日 businessDays -= 1; } // 从完整周中减去周末天数 businessDays -= fullWeekCount * 2; // 减去银行假日 foreach (DateTime bankHoliday in bankHolidays) { DateTime bh = bankHoliday.Date; if (firstDay <= bh && bh <= lastDay) businessDays--; } return businessDays; }</code>
Cuti bank dan input tersuai:
Selain itu, kaedah ini boleh dilanjutkan untuk mempertimbangkan senarai cuti bank, memastikan ketepatan walaupun cuti ini berlaku pada pertengahan minggu. Dengan menyediakan senarai tarikh tersuai, anda boleh mengendalikan senario tertentu.
Kaedah lain:
C# menyediakan cara lain untuk mengira hari bekerja, seperti menggunakan perpustakaan pihak ketiga atau kelas System.Globalization.Calendar
terbina dalam. Walau bagaimanapun, kaedah tersuai yang diterangkan di atas menyediakan pelaksanaan yang jelas dan mudah yang memenuhi keperluan yang dinyatakan.
Atas ialah kandungan terperinci Bagaimana untuk Mengira Hari Perniagaan Antara Dua Tarikh dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!