用Java 計算兩個日期之間的工作日數
對於那些尋求Java 程式碼片段來計算工作日數的人(不包括週末),2011 年的一個流行響應提出了一個利用Calendar 類別的解決方案。儘管Java 8 隨後透過java.time 套件引入了現代日期時間處理功能,但以下程式碼示範如何使用Calendar API 實作此計算:
<code class="java">public static int getWorkingDaysBetweenTwoDates(Date startDate, Date endDate) { Calendar startCal = Calendar.getInstance(); startCal.setTime(startDate); Calendar endCal = Calendar.getInstance(); endCal.setTime(endDate); int workDays = 0; //Return 0 if start and end are the same if (startCal.getTimeInMillis() == endCal.getTimeInMillis()) { return 0; } if (startCal.getTimeInMillis() > endCal.getTimeInMillis()) { startCal.setTime(endDate); endCal.setTime(startDate); } do { //excluding start date startCal.add(Calendar.DAY_OF_MONTH, 1); if (startCal.get(Calendar.DAY_OF_WEEK) != Calendar.SATURDAY && startCal.get(Calendar.DAY_OF_WEEK) != Calendar.SUNDAY) { ++workDays; } } while (startCal.getTimeInMillis() < endCal.getTimeInMillis()); //excluding end date return workDays; }</code>
請注意,此解決方案遵循「連續」 "計數方法,不包括開始日期和結束日期本身。
以上是Java中如何計算兩個日期之間的工作天數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!