Exemple de code pour analyser la date et l'heure avec SimpleDateFormat de Java

Aperçu

--Parsing des chaînes de date et d'heure avec la classe SimpleDateFormat de Java pour enchaîner les objets Date

Exemple de code

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 *Un exemple pour analyser le format avec SimpleDateFormat.
 */
public class Sample {

  public static void main(String[] args) {

    String[] sourceList = {
      "1-2-3 4:5:6",
      "99-2-3 4:5:6",
      "999-2-3 4:5:6",
      "2000-12-31 12:34:56",
      "9999-12-31 12:34:56.0001",
      "9999-12-31 12:34:56.000001",
      "10000-12-31 12:34:56",
      "XXXX-YY-ZZ AA:BB:CC",
      "9999X-12X-31X 12X:34X:56X",
      "X9999-X12-X31 X12:X34:X56",
    };

    parseAndFormat(sourceList, "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm:ss");
    parseAndFormat(sourceList, "y-M-d H:m:s", "yyyy-MM-dd HH:mm:ss");
    parseAndFormat(sourceList, "yyyy-MM-dd HH:mm:ss", "y-M-d H:m:s");
  }

  /**
   *Analyser et formater.
   * @param sourceList Un tableau de chaînes à analyser
   * @param parsePattern Chaîne de modèle qui analyse les chaînes de date et d'heure
   * @param formatPattern Date Une chaîne de modèle qui met en forme un objet
   */
  private static void parseAndFormat(String[] sourceList, String parsePattern, String formatPattern) {

    //Préparez l'analyseur
    SimpleDateFormat parser = new SimpleDateFormat(parsePattern);

    //Préparez le formateur
    SimpleDateFormat formatter = new SimpleDateFormat(formatPattern);

    System.out.println("****************************************");
    System.out.println("Parse:  " + parsePattern);
    System.out.println("Format: " + formatPattern);

    for (String source : sourceList) {
      try {
        //Convertir la chaîne de date et d'heure en objet Date
        Date date = parser.parse(source);
        //Convertir l'objet Date en chaîne de date et d'heure
        String text = formatter.format(date);
        System.out.println(source + " -> " + text);
      } catch (ParseException e) {
        System.out.println(source + " -> " + e.toString());
      }
    }

    System.out.println();
  }
}

Résultat d'exécution

Exemple d'exécution avec Java 8 (AdoptOpenJDK 1.8.0_272-b10) + macOS Catalina.

****************************************
Parse:  yyyy-MM-dd HH:mm:ss
Format: yyyy-MM-dd HH:mm:ss
1-2-3 4:5:6 -> 0001-02-03 04:05:06
99-2-3 4:5:6 -> 0099-02-03 04:05:06
999-2-3 4:5:6 -> 0999-02-03 04:05:06
2000-12-31 12:34:56 -> 2000-12-31 12:34:56
9999-12-31 12:34:56.0001 -> 9999-12-31 12:34:56
9999-12-31 12:34:56.000001 -> 9999-12-31 12:34:56
10000-12-31 12:34:56 -> 10000-12-31 12:34:56
XXXX-YY-ZZ AA:BB:CC -> java.text.ParseException: Unparseable date: "XXXX-YY-ZZ AA:BB:CC"
9999X-12X-31X 12X:34X:56X -> java.text.ParseException: Unparseable date: "9999X-12X-31X 12X:34X:56X"
X9999-X12-X31 X12:X34:X56 -> java.text.ParseException: Unparseable date: "X9999-X12-X31 X12:X34:X56"

****************************************
Parse:  y-M-d H:m:s
Format: yyyy-MM-dd HH:mm:ss
1-2-3 4:5:6 -> 0001-02-03 04:05:06
99-2-3 4:5:6 -> 1999-02-03 04:05:06
999-2-3 4:5:6 -> 0999-02-03 04:05:06
2000-12-31 12:34:56 -> 2000-12-31 12:34:56
9999-12-31 12:34:56.0001 -> 9999-12-31 12:34:56
9999-12-31 12:34:56.000001 -> 9999-12-31 12:34:56
10000-12-31 12:34:56 -> 10000-12-31 12:34:56
XXXX-YY-ZZ AA:BB:CC -> java.text.ParseException: Unparseable date: "XXXX-YY-ZZ AA:BB:CC"
9999X-12X-31X 12X:34X:56X -> java.text.ParseException: Unparseable date: "9999X-12X-31X 12X:34X:56X"
X9999-X12-X31 X12:X34:X56 -> java.text.ParseException: Unparseable date: "X9999-X12-X31 X12:X34:X56"

****************************************
Parse:  yyyy-MM-dd HH:mm:ss
Format: y-M-d H:m:s
1-2-3 4:5:6 -> 1-2-3 4:5:6
99-2-3 4:5:6 -> 99-2-3 4:5:6
999-2-3 4:5:6 -> 999-2-3 4:5:6
2000-12-31 12:34:56 -> 2000-12-31 12:34:56
9999-12-31 12:34:56.0001 -> 9999-12-31 12:34:56
9999-12-31 12:34:56.000001 -> 9999-12-31 12:34:56
10000-12-31 12:34:56 -> 10000-12-31 12:34:56
XXXX-YY-ZZ AA:BB:CC -> java.text.ParseException: Unparseable date: "XXXX-YY-ZZ AA:BB:CC"
9999X-12X-31X 12X:34X:56X -> java.text.ParseException: Unparseable date: "9999X-12X-31X 12X:34X:56X"
X9999-X12-X31 X12:X34:X56 -> java.text.ParseException: Unparseable date: "X9999-X12-X31 X12:X34:X56"

Matériel de référence

Recommended Posts

Exemple de code pour analyser la date et l'heure avec SimpleDateFormat de Java
Vérifiez la date et l'heure réelles lors de l'analyse avec SimpleDateFormat de Java
Gérez l'API de date et d'heure Java 8 avec Thymeleaf avec Spring Boot
[MySQL] [java] Date et heure de réception
[Java] Utilisez ResolverStyle.LENIENT pour bien gérer la date et l'heure
Lier le code Java et C ++ avec SWIG
[Java] Comment régler la date sur 00:00:00
Java 8 pour démarrer maintenant ~ API de date et d'heure ~
Exemple de code Java 02
Exemple de code Java 03
Exemple de code Java 04
Exemple de code Java 01
Exemple de code pour la sérialisation et la désérialisation des énumérations Java Enum et JSON dans Jackson
Exemple de configuration minimale pour publier automatiquement Lambda par Java avec un pipeline de code
Code difficile à déboguer et à analyser
Essayez d'intégrer Ruby et Java avec Dapr
[Java] Comment utiliser la classe Calendar et la classe Date
Analyser en Java les chaînes de date et d'heure formatées par la fonction asctime du langage C
[Java] Opérations de date / heure
Exemple de code pour convertir List en List <String> dans Java Stream
Changer la date et l'heure en notation japonaise dans Rails
[Rails] Précautions lors de la comparaison de la date et de l'heure avec DateTime
Je veux faire des transitions d'écran avec kotlin et java!
Comment créer un environnement de développement Java avec VS Code
Liez le journal Docker à AWS CloudWatch et surveillez en temps réel avec VS Code
Développement d'applications JavaFX avec IntelliJ IDEA et Gradle ~ De la construction d'environnement à l'exemple de code ~
Comment inverser la compilation du fichier apk en code source Java avec MAC
Exemple de code de signature électronique (JAVA)
Java pour jouer avec Function
Qu'est-ce que la classe LocalDateTime? [Java débutant] -Date et classe d'heure-
Exemple de source Java pour SELECT et afficher CLOB (Oracle Database + java)
Exemple de code Java pour acquérir et afficher les données source et de destination DBLINK dans Oracle Database à l'aide de DBLINK
Je veux faire une liste avec kotlin et java!
Réglez la date et l'heure à partir de la chaîne de caractères avec POI
Je veux créer une fonction avec kotlin et java!
Connectez-vous à DB avec Java
Connectez-vous à MySQL 8 avec Java
Difficile de gérer les valeurs minimales avec Java8 LocalDateTime et Java6 Date
Je veux implémenter diverses fonctions avec kotlin et java!
Un mémo pour démarrer la programmation Java avec VS Code (version 2020-04)
Exemple de code pour la simulation de base et les tests avec Mockito 3 + JUnit 5
Je veux revenir à l'écran précédent avec kotlin et java!
Convertissez le code de saut de ligne en une balise de saut de ligne html avec Thymeleaf et sortie
Paramètres pour supprimer les importations Java inutilisées lors de l'enregistrement avec VS Code
La relation entre la vérification stricte de la date Java et l'heure d'été
Comment gérer le code Java généré automatiquement par l'exemple jOOQ et Flyway
Exemple de code pour le test unitaire d'un contrôleur Spring Boot avec MockMvc
[Avec un exemple de code] Les bases de Spring JDBC apprises avec l'application Blog
Exemple de code pour appeler l'API Yahoo! Local Search en Java
Java pour apprendre avec les ramen [Partie 1]
Utiliser java avec MSYS et Cygwin
Traçage distribué avec OpenCensus et Java
Coder Java depuis Emacs avec Eclim
[Java] Points à noter avec Arrays.asList ()
Osez défier Kaggle avec Java (1)
Utilisez JDBC avec Java et Scala.