在 Java 中驗證日期:揭穿已棄用的方法
Java 使用 Date 類別建立 Date 物件的常見做法已經過時。這讓開發人員思考驗證以日、月和年組合表示的日期有效性的最佳方法。以「2008-02-31」為例,這是一個看似無效的日期。
簡單而有效的解決方案
為了應對這一挑戰,有一個非常簡單的方法解決方案存在。透過將 SimpleDateFormat 類別與設定為 false 的 setLenient 方法結合使用,您可以仔細檢查日期的合法性。
實作
以下Java 程式碼片段示範了此方法的應用:
import java.text.ParseException; import java.text.SimpleDateFormat; public class DateValidation { public static void main(String[] args) { String date = "2008-02-31"; SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy"); df.setLenient(false); try { df.parse(date); System.out.println("Valid date"); } catch (ParseException e) { System.out.println("Invalid date"); } } }
透過設定lenient 標誌設定為false 時,解析方法將嚴格遵守預先定義的日期格式。任何與有效日期的偏差(例如“2008-02-31”)都會導致 ParseException 異常。
雖然此方法提供了一種簡單的日期驗證方法,但它可能不適用於所有場景。對於更全面的日期處理和驗證需求,請考慮探索替代庫,例如 Joda-Time 或 Java 8 中引入的較新的 Time API。
以上是如何在不使用已棄用的方法的情況下有效地驗證 Java 中的日期?的詳細內容。更多資訊請關注PHP中文網其他相關文章!