String in DateTime-Objekt konvertieren in Java

Rupam Yadav 12 Oktober 2023
  1. Verwenden Sie SimpleDateFormat und java.util.Date, um einen Datumsstring in ein DateTime-Objekt in Java zu konvertieren
  2. Java 8 Date and Time Library verwenden, um einen Datumsstring in ein Datumszeitformat zu konvertieren
  3. Mit joda-time einen Datumsstring in ein Datumszeitformat konvertieren
String in DateTime-Objekt konvertieren in Java

In diesem Artikel wird vorgestellt, wie wir eine gegebene Zeichenkette in ein DateTime-Objekt konvertieren können, wobei verschiedene Ansätze und Beispiele verwendet werden.

Verwenden Sie SimpleDateFormat und java.util.Date, um einen Datumsstring in ein DateTime-Objekt in Java zu konvertieren

SimpleDateFormat ist eine Klasse, die zum Parsen und Formatieren eines Datums in lokalsensitiver Art und Weise verwendet wird. Sie ermöglicht die Konvertierung einer Zeichenkette in DateTime und die Konvertierung eines DateTime-Objekts in einen String.

Im folgenden Code verwenden wir die Zeichenkette date_time, die durch Aufruf der Methode parse der SimpleDateFormat-Instanz dateParser geparst wird. Das Format, in dem die Zeichenkette date_time geparst werden soll, wird im Konstruktor SimpleDateFormat angegeben.

Wir haben auch eine neue Instanz der Klasse SimpleDateFormat mit einem anderen Format erzeugt. Das geparste Datum wird dann formatiert und ausgegeben.

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

public class StringToDateTime {
  public static void main(String[] args) {
    String date_time = "11/27/2020 05:35:00";
    SimpleDateFormat dateParser = new SimpleDateFormat("MM/dd/yy HH:mm:ss");
    {
      try {
        Date date = dateParser.parse(date_time);
        System.out.println(date);

        SimpleDateFormat dateFormatter = new SimpleDateFormat("MM/dd/yy");
        System.out.println(dateFormatter.format(date));

      } catch (ParseException e) {
        e.printStackTrace();
      }
    }
  }
}

Ausgabe:

Fri Nov 27 05:35:00 UTC 2020
11/27/20

Java 8 Date and Time Library verwenden, um einen Datumsstring in ein Datumszeitformat zu konvertieren

Die Klasse LocaleDate stellt ein Datum im ISO-Format ohne Zeitangabe dar. Die Klasse DateTimeFormatter wird zum Parsen von Datumsangaben in verschiedenen Formaten verwendet. Wir können eigene Muster bereitstellen, indem wir die Methode ofPattern() auf DateTimeFormatter aufrufen.

LocaleDate hat eine Methode parse(), die den benutzerdefinierten Textstring und ein bestimmtes Format inputFormat analysiert und eine LocalDate-Instanz erhält. Die erhaltene LocaleDate-Instanz date wird dann formatiert und als Ausgabe ausgegeben.

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

public class Main {
  public static void main(String[] args) {
    DateTimeFormatter inputFormat = DateTimeFormatter.ofPattern("MM/dd/yyyy HH:mm:ss");

    LocalDate date = LocalDate.parse("11/27/2020 05:35:00", inputFormat);

    DateTimeFormatter outputFormat = DateTimeFormatter.ofPattern("MM/dd/yyyy");
    System.out.println(date.format(outputFormat));
  }
}

Ausgabe:

11/27/2020

Mit joda-time einen Datumsstring in ein Datumszeitformat konvertieren

joda-time ist eine Standard DateTime Bibliothek, die einen reichen Satz an Methoden zur Durchführung von Datums- und Zeitberechnungen bereitstellt. Die Maven-Abhängigkeit zur Einbindung der Funktionalität dieser Bibliothek ist unten angegeben.

 <!-- https://mvnrepository.com/artifact/joda-time/joda-time -->
    <dependency>
        <groupId>joda-time</groupId>
        <artifactId>joda-time</artifactId>
        <version>2.10.8</version>
    </dependency>

Der DateTimeFormatter kann benutzerdefinierte Darstellungen von Datum und Zeit parsen.

Wir erstellen eine Formatter-Instanz datetimeformat mit einem benutzerdefinierten Muster. Der Aufruf von parseDateTime auf der Formatter-Instanz liefert ein DateTime-Objekt mit der benutzerdefinierten Zeichenkette dateTime.

Hier haben wir eine neue DateTimeFormatter-Instanz dateTimeFormatOut mit einem anderen benutzerdefinierten Muster erstellt. Die Methode print() wird auf der neuen Instanz aufgerufen, die das DateTime-Objekt joda_time in einem neuen Format ausgibt.

import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;

public class StringToDateTime {
  public static void main(String[] args) {
    String dateTime = "11/27/2020 05:35:00";
    DateTimeFormatter datetimeformat = DateTimeFormat.forPattern("MM/dd/yyyy HH:mm:ss");

    DateTime joda_time = datetimeformat.parseDateTime(dateTime);
    System.out.println("joda_time : " + joda_time);

    DateTimeFormatter dateTimeFormatOut = DateTimeFormat.forPattern("MM/dd/yyyy");
    System.out.println("date time format out:  " + dateTimeFormatOut.print(joda_time));
  }
}

Ausgabe:

joda_time : 2020-11-27T05:35:00.000+05:30
date time format out:  11/27/2020
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

Verwandter Artikel - Java DateTime