Maison >Java >javaDidacticiel >Comment puis-je analyser facilement n'importe quelle chaîne de date en Java, comme le dateutil de Python ?

Comment puis-je analyser facilement n'importe quelle chaîne de date en Java, comme le dateutil de Python ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-14 05:57:10283parcourir

How Can I Easily Parse Any Date String in Java, Like Python's dateutil?

Analyser n'importe quelle chaîne de date sans effort avec Java

L'analyse des dates en Java peut souvent être une tâche fastidieuse, vous obligeant à déterminer manuellement le format spécifique de la chaîne de date. Mais et si vous pouviez analyser n'importe quelle chaîne de date facilement, comme la bibliothèque python-dateutil ?

En utilisant dateutil.parser de Python, vous pouvez analyser différents formats de date sans tracas. Cependant, en Java, Joda Time, souvent considéré comme une solution robuste d'analyse de date, vous oblige toujours à spécifier le format de date avant l'analyse.

Trouver une solution Java comparable

Pour résoudre ce problème, vous pouvez utiliser une approche par force brute ou utiliser des expressions régulières pour faire correspondre les modèles de format de date. Un exemple notable est la classe DateUtil :

private static final Map<String, String> DATE_FORMAT_REGEXPS = new HashMap<>() {{
    put("^\d{8}$", "yyyyMMdd");
    put("^\d{1,2}-\d{1,2}-\d{4}$", "dd-MM-yyyy");
    ...
}};

public static String determineDateFormat(String dateString) {
    for (String regexp : DATE_FORMAT_REGEXPS.keySet()) {
        if (dateString.toLowerCase().matches(regexp)) {
            return DATE_FORMAT_REGEXPS.get(regexp);
        }
    }
    return null; // Unknown format.
}

Cette classe fournit une liste substantielle d'expressions régulières et de modèles SimpleDateFormat correspondants pour les formats de date les plus courants. En tirant parti de cette approche, vous pouvez déterminer le format de date approprié et analyser en conséquence.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn