String in DateTime-Objekt konvertieren in Java
-
Verwenden Sie
SimpleDateFormat
undjava.util.Date
, um einen Datumsstring in ein DateTime-Objekt in Java zu konvertieren - Java 8 Date and Time Library verwenden, um einen Datumsstring in ein Datumszeitformat zu konvertieren
-
Mit
joda-time
einen Datumsstring in ein Datumszeitformat konvertieren
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 Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn