Java 是一種廣泛使用的編程語言,可以在許多不同領域使用。其中之一就是計算在職和離職天數。
計算在職和離職天數是很常見的需求,尤其在人力資源和工資管理系統中。下面我們來演示如何使用 Java 計算在職和離職天數。
public class DateCalculator { public static void main(String[] args) { String start = "2022-01-01"; // 入職時間 String end = "2023-02-15"; // 離職時間 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); try { // 將入職時間和離職時間解析成日期對象 Date startDate = sdf.parse(start); Date endDate = sdf.parse(end); long betweenDate = (endDate.getTime() - startDate.getTime()) / (1000 * 60 * 60 * 24); int workingDays = 0; for (long i = startDate.getTime(); i< endDate.getTime(); i += (1000 * 60 * 60 * 24)) { Calendar cal = Calendar.getInstance(); cal.setTimeInMillis(i); int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK) - 1; if (dayOfWeek != 0 && dayOfWeek != 6) { // 過濾掉周六周日 workingDays++; } } System.out.println("在職天數:" + betweenDate + " 天"); System.out.println("工作日天數:" + workingDays + " 天"); System.out.println("請假天數:" + (betweenDate - workingDays) + " 天"); } catch (ParseException e) { e.printStackTrace(); } } }
代碼中,我們首先定義了入職時間和離職時間。然后使用 SimpleDateFormat 類將這兩個時間解析成日期對象。接著,我們使用 getTime() 方法將日期對象轉換成毫秒數,計算出在職天數。
在計算工作日天數時,我們使用 for 循環遍歷入職時間和離職時間之間的每一天,然后使用 Calendar 類獲取每天的星期幾。如果不是周六和周日,則將工作日天數加 1。
最后,我們輸出在職天數、工作日天數和請假天數。
下一篇css外鏈自適應