Maison > Java > javaDidacticiel > Comment puis-je analyser efficacement des dates avec plusieurs formats à l'aide de SimpleDateFormat ?

Comment puis-je analyser efficacement des dates avec plusieurs formats à l'aide de SimpleDateFormat ?

Susan Sarandon
Libérer: 2024-12-23 16:03:17
original
880 Les gens l'ont consulté

How Can I Efficiently Parse Dates with Multiple Formats Using SimpleDateFormat?

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 :

  • 9/09
  • 9/2009
  • 09/2009
  • 9/1/2009
  • 9 -1-2009

Ceux-ci peuvent être regroupés en trois catégories :

  • M/y (couvrant les trois premiers)
  • M/d/y (représentant le quatrième)
  • M-d-y (pour le cinquième)

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
  }
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal