使用 SimpleDateFormat 解析各種格式的日期
解析使用者輸入的日期時,常常會遇到不同的格式。處理這些變更可能具有挑戰性,特別是考慮到 SimpleDateFormat 的優先規則。
要解決此問題,請為每種唯一格式使用單獨的 SimpleDateFormat 物件。儘管這似乎需要過多的程式碼重複,但 SimpleDateFormat 數字格式化規則的靈活性允許採用更簡潔的方法。
例如,考慮以下日期格式:
這些可以分為三類:
下面的方法舉例說明實現:
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Date; public class DateParser { private static List<String> FORMAT_STRINGS = Arrays.asList("M/y", "M/d/y", "M-d-y"); public static Date parse(String dateString) { for (String formatString : FORMAT_STRINGS) { try { return new SimpleDateFormat(formatString).parse(dateString); } catch (ParseException e) { // Ignore parse exceptions and continue to the next format } } return null; // If no formats match, return null } }
透過這種方式,您可以處理一系列日期格式,而不需要過多嵌套的try/catch 區塊或重複程式碼。
以上是如何使用SimpleDateFormat高效解析多種格式的日期?的詳細內容。更多資訊請關注PHP中文網其他相關文章!