| 方法 | 參數 | 返回 | 說明 |
|---|---|---|---|
| getDate(fmt) | 格式字串 | String | 當前時間格式化 |
| getWeekOfYear(date, fmt) | 日期、格式 | int | 該日期屬於當年第幾週 |
| getWeekDay(date, oldFmt, newFmt) | 日期、輸入格式、輸出格式 | String[7] | 該日期所在週的 7 天日期陣列 |
| getWeekDate(year, week, newFmt) | 年份、週數、輸出格式 | String[7] | 指定年份第 N 週的 7 天日期 |
| getDayOfWeek(date, oldFmt, fmt) | 日期、輸入格式、輸出前綴 | String | 星期幾 (如 "週3") |
| getWeekNum(year) | 年份字串 | int | 該年總週數 |
| cntTimeDifference(s, e, fmt, refmt) | 開始、結束、格式、差值單位 | String | 兩日期差值 |
| getBeforeTime(date, fmt, min, newFmt) | 日期、格式、分鐘偏移、輸出格式 | String | 日期向前/後偏移分鐘 |
| fmtDate(date, oldFmt, newFmt) | 日期、舊格式、新格式 | String | 日期格式轉換 |
| getMonthDays(year, month) | 年、月 | int | 該月天數 |
DateTools dt = new DateTools(DateTools.WEEK_OF_GBK); // 週一為週首
System.out.println(dt.getDate("yyyy-MM-dd HH:mm:ss"));
System.out.println("本年第 " + dt.getWeekOfYear("2024-07-01", "yyyy-MM-dd") + " 週");
String[] week = dt.getWeekDay("2024-07-01", "yyyy-MM-dd", "MM/dd");
for (String d : week) System.out.print(d + " ");
System.out.println("\n2024 年第 1 週:" + Arrays.toString(dt.getWeekDate("2024", 1, "yyyy-MM-dd")));
System.out.println(dt.cntTimeDifference("2024-01-01", "2024-07-01", "yyyy-MM-dd", "d") + " 天");
Calendar 進行日期運算,避免 Date 過時方法。ParsePosition(0) 容錯解析。fmtDate 過載支援 String/Date/Long 輸入。year%400==0 || (year%4==0 && year%100!=0)。注意: JDK 8+ 建議遷移至 java.time 套件 (LocalDate, TemporalAdjusters) 獲得更佳線程安全與 API 設計。