Kalenderdatum im Format YYYY-MM-DD in Java

Shikha Chaudhary 12 Oktober 2023
  1. Datum im Format YYYY-MM-DD in Java
  2. Formatieren das Datum in Java im Format YYYY-MM-DD
  3. Verwendung der Klasse SimpleDateFormat in Java
  4. Schlussfolgerung
Kalenderdatum im Format YYYY-MM-DD in Java

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 oder yyyy-MM-dd aus.
  • LocalTime - Gibt die Ausgabe in Zeit und Nanosekunden als HH-mm-ss-ns an.
  • LocalDateTime – Gibt die Ausgabe sowohl in Datum als auch in Uhrzeit als yyyy-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 as 2022-01-25
  • dd/MM/yyyy - This gives the output as 25/01/2022
  • dd-MMM-yyyy - This gives the output as 25/01/2022
  • E, MMM dd yyyy - This gives the output as Tue, 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

Verwandter Artikel - Java Calendar