Beispielcode zum Parsen von Datum und Uhrzeit mit Java SimpleDateFormat

Überblick

--Parsing von Datums- und Zeitzeichenfolgen mit der SimpleDateFormat-Klasse von Java zum Zeichenfolgen von Datumsobjekten

Beispielcode

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

/**
 *Ein Beispiel zum Analysieren des Formats mit 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");
  }

  /**
   *Analysieren und formatieren.
   * @param sourceList Ein Array von zu analysierenden Zeichenfolgen
   * @param parsePattern Musterzeichenfolge, die Datums- und Zeitzeichenfolgen analysiert
   * @param formatPattern Date Eine Musterzeichenfolge, die ein Objekt formatiert
   */
  private static void parseAndFormat(String[] sourceList, String parsePattern, String formatPattern) {

    //Bereiten Sie den Parser vor
    SimpleDateFormat parser = new SimpleDateFormat(parsePattern);

    //Bereiten Sie den Formatierer vor
    SimpleDateFormat formatter = new SimpleDateFormat(formatPattern);

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

    for (String source : sourceList) {
      try {
        //Konvertieren Sie Datums- und Zeitzeichenfolge in Datumsobjekt
        Date date = parser.parse(source);
        //Konvertieren Sie das Datumsobjekt in eine Datums- und Zeitzeichenfolge
        String text = formatter.format(date);
        System.out.println(source + " -> " + text);
      } catch (ParseException e) {
        System.out.println(source + " -> " + e.toString());
      }
    }

    System.out.println();
  }
}

Ausführungsergebnis

Beispiel für die Ausführung mit 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"

Referenzmaterial

Recommended Posts

Beispielcode zum Parsen von Datum und Uhrzeit mit Java SimpleDateFormat
Überprüfen Sie das aktuelle Datum und die Uhrzeit beim Analysieren mit Javas SimpleDateFormat
Behandeln Sie die Java 8-Datums- und Uhrzeit-API mit Thymeleaf mit Spring Boot
[MySQL] [Java] Datum und Uhrzeit empfangen
[Java] Verwenden Sie ResolverStyle.LENIENT, um Datum und Uhrzeit gut zu handhaben
Verknüpfen Sie Java- und C ++ - Code mit SWIG
[Java] So stellen Sie die Datums- und Uhrzeit auf 00:00:00 ein
Java 8 startet jetzt ~ Datums- und Uhrzeit-API ~
Java-Beispielcode 02
Java-Beispielcode 03
Java-Beispielcode 04
Java-Beispielcode 01
Beispielcode zum Serialisieren und Deserialisieren von Java Enum-Enumerationen und JSON in Jackson
Mindestkonfigurationsbeispiel für die automatische Freigabe von Lambda durch Java mit Code-Pipeline
Code, der schwer zu debuggen und zu analysieren ist
Versuchen Sie, Ruby und Java in Dapr zu integrieren
[Java] Verwendung der Kalenderklasse und der Datumsklasse
Analysieren Sie die Datums- und Zeitzeichenfolge, die von der asctime-Funktion der C-Sprache in Java formatiert wurde
[Java] Datums- / Zeitoperationen
Beispielcode zum Konvertieren von List in List <String> in Java Stream
Ändern Sie Datum und Uhrzeit in Rails in japanische Notation
[Schienen] Vorsichtsmaßnahmen beim Vergleich von Datum und Uhrzeit mit DateTime
Ich möchte Bildschirmübergänge mit Kotlin und Java machen!
So erstellen Sie eine Java-Entwicklungsumgebung mit VS Code
Verknüpfen Sie das Docker-Protokoll mit AWS CloudWatch und überwachen Sie es in Echtzeit mit VS Code
JavaFX-Anwendungsentwicklung mit IntelliJ IDEA und Gradle ~ Von der Umgebungskonstruktion bis zum Beispielcode ~
So kehren Sie die Kompilierung der Apk-Datei in Java-Quellcode mit MAC um
Beispielcode für elektronische Signatur (JAVA)
Java zum Spielen mit Function
Was ist die LocalDateTime-Klasse? [Java-Anfänger] -Datum und Zeitklasse-
Java-Quellbeispiel für SELECT und Anzeige von CLOB (Oracle Database + Java)
Java-Codebeispiel zum Erfassen und Anzeigen von DBLINK-Quell- und Zieldaten in Oracle Database mithilfe von DBLINK
Ich möchte eine Liste mit Kotlin und Java erstellen!
Stellen Sie Datum und Uhrzeit aus der Zeichenfolge mit POI ein
Ich möchte eine Funktion mit Kotlin und Java erstellen!
Stellen Sie mit Java eine Verbindung zur Datenbank her
Stellen Sie mit Java eine Verbindung zu MySQL 8 her
Mit Java8 LocalDateTime und Java6 Date ist es schwierig, Mindestwerte zu verarbeiten
Ich möchte verschiedene Funktionen mit Kotlin und Java implementieren!
Ein Memo zum Starten der Java-Programmierung mit VS Code (Version 2020-04)
Beispielcode für das grundlegende Verspotten und Testen mit Mockito 3 + JUnit 5
Ich möchte mit Kotlin und Java zum vorherigen Bildschirm zurückkehren!
Thymeleaf konvertiert den Zeilenvorschubcode in ein HTML-Zeilenvorschub-Tag und gibt ihn aus.
Einstellungen zum Löschen nicht verwendeter Java-Importe beim Speichern mit VS-Code
Die Beziehung zwischen strenger Java-Datumsprüfung und Sommerzeit
So verwalten Sie Java-Code, der automatisch von jOOQ & Flyway generiert wird
Beispielcode zum Testen eines Spring Boot-Controllers mit MockMvc
[Mit Beispielcode] Grundlagen von Spring JDBC mit der Blog-App gelernt
Beispielcode zum Aufrufen der Yahoo! Local Search API in Java
Java mit Ramen lernen [Teil 1]
Verwenden Sie Java mit MSYS und Cygwin
Verteilte Ablaufverfolgung mit OpenCensus und Java
Code Java von Emacs mit Eclim
[Java] Mit Arrays.asList () zu beachtende Punkte
Wagen Sie es, Kaggle mit Java herauszufordern (1)
Verwenden Sie JDBC mit Java und Scala.