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 中国語 Web サイトの他の関連記事を参照してください。