Kalenderdatum im Format YYYY-MM-DD in Java
-
Datum im Format
YYYY-MM-DD
in Java -
Formatieren das Datum in Java im Format
YYYY-MM-DD
-
Verwendung der Klasse
SimpleDateFormat
in Java - Schlussfolgerung
Das Java Date
kapselt die aktuelle Uhrzeit und das Datum. Die Datumsklasse tut dies mit Hilfe von zwei Konstruktoren - den Konstruktoren Date()
und Date(long millisec)
.
Wir verwenden den Konstruktor Date()
, um das Objekt mit der aktuellen Uhrzeit und dem aktuellen Datum zu initialisieren. Andererseits nimmt der Konstruktor Date(long millisec)
die Anzahl der Millisekunden seit Mitternacht, 1. Januar 1970
, als Argument.
Aber die Ausgabe, die wir erhalten, ist nicht im yyyy-MM-dd
-Format. Dieser Artikel zeigt, wie wir die Ausgabe in diesem Format erzeugen können.
Wir verwenden die Methode date()
in Java, um das aktuelle Datum und die Uhrzeit zu erhalten. Dazu verwenden wir ein Date-Objekt mit der Methode toString()
. Sehen Sie sich das Beispiel unten an, um es zu verstehen.
import java.util.Date;
public class DateExample {
public static void main(String args[]) {
// Create a date object
Date date_of_today = new Date();
// Use toString() to print the date
System.out.println(date_of_today.toString());
}
}
Ausgabe:
Mon Jan 10 09:58:43 UTC 2022
Dieses Beispiel verwendet date_of_today
zum Instanziieren des DDate-Objekts und die toString()
-Methode zum Drucken des Datums. Beachten Sie, dass die Ausgabe, die wir erhalten, Tag, Monat, Datum und Jahr sowie die Uhrzeit im Format Stunden:Minuten:Sekunden
enthält.
Dies stellt ein Problem dar, wenn wir mit zwei oder mehr Daten arbeiten. Um den Namen des Tages und der Uhrzeit aus dieser Ausgabe zu entfernen, können wir die Methode printf()
auf zwei Arten verwenden. Der erste verwendet die Symbole %
und $
.
Sehen Sie sich das Beispiel unten an.
import java.util.Date;
public class DateExample {
public static void main(String args[]) {
// Create a new object
Date date_of_today = new Date();
// Display the date
System.out.printf("%1$s %2$tB %2$td, %2$tY", "Date:", date_of_today);
}
}
Ausgabe:
Date: January 10, 2022
Der zweite Weg ist die Verwendung von <flag
. Sehen Sie sich dasselbe Beispiel noch einmal an.
import java.util.Date;
public class DateExample {
public static void main(String args[]) {
// Create a new object
Date date_of_today = new Date();
// display the date
System.out.printf("%s %tB %<te, %<tY", "Date:", date_of_today);
}
}
Ausgabe:
Date: January 10, 2022
Beachten Sie, dass in diesen Beispielen die Zeit weggelassen wird. Aber wir bekommen immer noch keine Ausgabe im Format yyyy-MM-dd
. Lassen Sie uns sehen, wie wir mit diesem Problem umgehen können.
Datum im Format YYYY-MM-DD
in Java
Java hat ein java.time
-Paket. Anstatt die Datumsklasse zu verwenden, um mit Datum und Uhrzeit zu arbeiten, können wir das Paket java.time
verwenden. Schauen wir uns zunächst ein Beispiel an.
// import the java.time package
import java.time.LocalDate;
public class DemoOfDate {
public static void main(String[] args) {
// create an object for date
LocalDate date_of_today = LocalDate.now();
// Display the date
System.out.println(date_of_today);
}
}
Ausgabe:
2022-01-10
In diesem Beispiel verwenden wir das Paket java.time
und die Klasse LocalDate
. Diesmal erhalten wir die Ausgabe im Format yyyy-MM-dd
. Das Paket java.time
hat vier Hauptklassen.
LocalDate
– Gibt als Ausgabe ein Datum im Format Jahr, Monat, Tag oderyyyy-MM-dd
aus.LocalTime
- Gibt die Ausgabe in Zeit und Nanosekunden alsHH-mm-ss-ns
an.LocalDateTime
– Gibt die Ausgabe sowohl in Datum als auch in Uhrzeit alsyyyy-MM-dd-HH-mm-ss-ns
aus.DateTimeFormatter
– Dies fungiert als Formatierer für Datum-Uhrzeit-Objekte und wird verwendet, um sie anzuzeigen und zu analysieren.
Beachten Sie, dass wir im obigen Beispiel die Klasse LocalDate
verwenden. Außerdem verwenden wir die Methode now()
. Die Methode now()
in Java ist eine Methode der Klasse LocalTime
. Es erhält die aktuelle Zeit in der Standardzeitzone von einer Systemuhr.
Syntax:
public static LocalTime now()
Wir übergeben keinen Parameter in der Methode now()
. Eine weitere Möglichkeit besteht darin, die Ausgabe im Format yyyy-MM-dd
zu erhalten. Sehen wir uns das auch an. Hier ist der Link zur Dokumentation.
Formatieren das Datum in Java im Format YYYY-MM-DD
Um das Kalenderdatum in das Format yyyy-MM-dd
zu ändern, können wir auch das Konzept der Formatierung verwenden. Es macht das Arbeiten mit Datum und Uhrzeit viel flexibler.
Dazu verwenden wir die im Paket java.time
vorhandene Methode ofPattern()
. Die verschiedenen Möglichkeiten, wie wir die Ausgabe mit der Methode ofPattern()
erhalten können, sind wie folgt.
yyyy-MM-dd
- This gives the output as2022-01-25
dd/MM/yyyy
- This gives the output as25/01/2022
dd-MMM-yyyy
- This gives the output as25/01/2022
E, MMM dd yyyy
- This gives the output asTue, Jan 25 2022
Sehen wir uns ein Beispiel an.
// import the LocalDateTime class
import java.time.LocalDateTime;
// import the DateTimeFormatter class
import java.time.format.DateTimeFormatter;
public class DemoOfDate {
public static void main(String[] args) {
LocalDateTime date_of_today = LocalDateTime.now();
System.out.println("Output before formatting: " + date_of_today);
DateTimeFormatter format_date_of_today = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String formattedDate = date_of_today.format(format_date_of_today);
System.out.println("Output after formatting: " + formattedDate);
}
}
Ausgabe:
Output before formatting: 2022-01-01T10:46:21.449669400
Output after formatting: 2022-01-01
Beachten Sie, dass wir die Ausgabe im Format yyyy-MM-dd
erhalten können, indem wir die Formatierung verwenden. Wir können auch die Werte all dieser Formate verschieben.
Wenn wir zum Beispiel den String yyyy-MM-dd
in der ofPattern()
-Methode übergeben, können wir diesen String in yyyy-dd-MM
oder dd-MM-yyyy
oder auf andere Weise ändern nach Bedarf. Dies gilt für alle Formate, die von der Methode ofPattern()
bereitgestellt werden.
Wir verwenden hier eine weitere Methode - die Methode format()
. Die Methode format()
formatiert einen String mit dem gegebenen Gebietsschema, Argumenten und Format in Java.
Wenn wir das Gebietsschema nicht angeben, ruft die Methode format()
die Methode Locale.getDefault()
auf, um das Standardgebietsschema abzurufen. Die Methode format()
funktioniert genauso wie die Funktion printf()
.
Verwendung der Klasse SimpleDateFormat
in Java
Um die Ausgabe im Format yyyy-MM-dd
zu erhalten, können wir die Klasse SimpleDateFormat
verwenden. Es bietet Methoden zum Formatieren (Ändern des Datums in eine Zeichenkette) und Parsen (Ändern der Zeichenkette in Datum) von Datum und Uhrzeit in Java.
Durch die Vererbung funktioniert es mit der Klasse java.text.DateFormat
. Sehen wir uns ein Beispiel an.
import java.text.SimpleDateFormat;
import java.util.Date;
public class SimpleDateFormatDemo {
public static void main(String[] args) {
Date date_of_today = new Date();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String stringDate = format.format(date_of_today);
System.out.println(stringDate);
}
}
Ausgabe:
2022-01-01
Um mehr über die Klasse SimpleDateFormat
in Java zu erfahren, lesen Sie diese Dokumentation.
Schlussfolgerung
In diesem Artikel wurde beschrieben, wie wir das Kalenderdatum in Java in das Format yyyy-MM-dd
ändern können. Dazu gehören die Verwendung des Pakets java.time
, die Formatierung mit der Methode toPattern()
und die Klasse SimpleDateFormat
. Die verschiedenen Methoden sind die Methoden toString()
und now()
.
Wir können die Ausgabe im Format yyyy-MM-dd
erhalten und sie verwenden, wenn mehr als ein einzelnes Datum enthalten ist.
Verwandter Artikel - Java Date
- Finden Sie den Wochentag mit Zellers Kongruenz in Java
- Java Get Wochentag
- Java-Datum vs. LocalDate
- Legen Sie die Zeitzone eines java.util.Date fest
- Konvertieren String in LocalDate in Java