比對系統時間、輸入時間
應用情境類似「輸入資料取得資訊」,所以若輸入為NULL/空白/或不合法日期,致使運算失敗時,皆丟出執行期例外。
◎ boolean isToday(String yyymmdd)
◎ boolean isAfterToday(boolean includeToday, String yyymmdd)
◎ boolean isBeforeToday(boolean includeToday, String yyymmdd)
- 適用於:YYYMMDD
- 與 系統時間 比對。
- 為避免使用時誤會,After/Before 判斷需加上 include 參數標明是否包含當下日期。
- 預期應該是輸入 FALSE,但太常見到 「今天及今天以前」 之類的需求,
- 經驗上,!isBefore(...) / !isAfter(...) ,PG 或 REVIEWER 容易搞錯。
- 所以加上一個參數,以增加使用語法的選擇性。
◎ boolean isCurrentMonth(String yyymm)
◎ boolean isAfterCurrentMonth(boolean includeCurrent, String yyymm)
◎ boolean isBeforeCurrentMonth(boolean includeCurrent, String yyymm)
- 適用於:YYYMM
- 與 系統時間 比對。
- 為避免使用時誤會,After/Before 判斷需加上 include 參數標明是否包含當下日期。
◎ isAfterCurrentYear(boolean, int)
◎ isAfterCurrentYear(boolean, String)
◎ isAfterCurrentYear(String)
◎ isBeforeCurrentYear(boolean, int)
◎ isBeforeCurrentYear(boolean, String)
◎ isBeforeCurrentYear(String)
◎ isCurrentYear(int)
◎ isCurrentYear(String)
- 適用於:YYY
- 與 系統時間 比對。
- 為避免使用時誤會,After/Before 判斷需加上 include 參數標明是否包含當下日期。
◎ boolean isOrderly(boolean allowOverlap, String d1, String d2)
- 適用於:YYYMMDD / YYYMM / YYY
- 輸入日期是否照順序排列。
- 參數overlap==true時,可允許兩個日期重複。
◎ boolean isOrderly(String d1, String d2)
- 適用於:YYYMMDD / YYYMM / YYY
- 輸入日期是否照順序排列。
- 同上,allowOverlap = false