Analyse de dates dans des formats variés avec SimpleDateFormat
Lors de l'analyse de dates à partir des entrées de l'utilisateur, il est courant de rencontrer différents formats. La gestion de ces variations peut être difficile, en particulier compte tenu des règles de priorité de SimpleDateFormat.
Pour résoudre ce problème, utilisez des objets SimpleDateFormat distincts pour chaque format unique. Bien que cela puisse sembler nécessiter une duplication excessive de code, la flexibilité des règles de formatage des nombres de SimpleDateFormat permet une approche plus concise.
Par exemple, considérons la date suivante formats :
Ceux-ci peuvent être regroupés en trois catégories :
La méthode suivante illustre la mise en œuvre :
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 } }
De cette façon, vous pouvez gérer une gamme de formats de date sans avoir besoin de blocs try/catch imbriqués excessifs ou de duplication de code.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!