Gregorianische Kalenderklasse in Java

Sarwan Soomro 12 Oktober 2023
  1. Java.util.Calendar-Klasse
  2. Klasse java.util.Locale
  3. Unterschied zwischen der Klasse GregorianCalendar() und der Klasse Calendar in Java
  4. Implementierung der gregorianischen Kalenderklasse in Java
  5. Zusammenfassung
Gregorianische Kalenderklasse in Java

Dieser Artikel zeigt Ihnen, wie Sie das gregorianische Kalendersystem von Java verwenden. Es ist eine spezifische Unterklasse der Klasse Calendar.

Darüber hinaus bietet es das am weitesten verbreitete Kalendersystem der Welt. Außerdem ist es ein hybrider Kalender, der mit den Standards des julianischen und gregorianischen Kalenders interoperabel ist.

Java.util.Calendar-Klasse

Die Klasse Calendar ist eine abstrakte Klasse, die Methoden zum Konvertieren zwischen einem bestimmten Zeitpunkt und einer Sammlung von Kalenderfeldern wie YEAR, MONTH, DAY OF MONTH, HOUR, WEEK_OF_YEAR, ZONE_OFFSET, FIELD_COUNT, MILLISECOND und viele andere.

Außerdem können Benutzer die Kalenderfelder ändern, z. B. das Datum der folgenden Woche abrufen.

Notiz
Es wird konfiguriert, wenn ein Objekt der Klasse Calendar erstellt wird.

Syntax:

Calendar ModifyCal = Calendar.getInstance();

Klasse java.util.Locale

Ein Gebietsschema-Objekt bezeichnet ein bestimmtes geografisches, politisches oder kulturelles Territorium. Eine gebietsschemaabhängige Aktion erfordert ein Locale, um ihre Aufgabe auszuführen.

Es wendet auch das Gebietsschema an, um Informationen für den Benutzer anzupassen.

Unterschied zwischen der Klasse GregorianCalendar() und der Klasse Calendar in Java

Der Unterschied ist ganz einfach zu verstehen. Wie Sie bereits wissen, wird bei der Verwendung von Calendar in den meisten Programmen ein gregorianisches Kalenderobjekt erstellt: getInstance().

Dennoch gibt es einige Ausreißer. Insbesondere können Sie den Standort/die Region so einstellen, dass ein bestimmtes Kalendersystem basierend auf Ihrer Region angezeigt wird.

Mit anderen Worten, nehmen Sie an, dass Ihr Calendar ein GregorianCalendar() sein muss. In diesem Fall brauchen Sie nur einen neuen zu schreiben: GregorianCalendar().

Wir empfehlen jedoch, Java Virtual Machine entscheiden zu lassen, welche Region standardmäßig ausgewählt wird. Sie müssen das Wort Calendar.getInstance() verwenden und bereit sein, mit der Möglichkeit umzugehen, einen anderen Kalendertyp auszuwählen.

Einige bemerkenswerte Kalender-Funktionen in Java

Zunächst einmal sind diese Methoden und ihre Typen hilfreich. Beachten Sie, dass es neben ihnen eine Vielzahl von Methoden gibt.

Es wäre hilfreich, wenn Sie die Klasse java.util.GregorianCalendar oder die Klassendateien calendar zum Studieren öffnen würden.

S.N Typ Funktionssyntax Zusammenfassung
1 TimeZone getTimeZone() Diese Funktion liefert Ihnen die aktuelle Zeitzone.
2 int getWeekYear() Es gibt Ihnen einfach das Wochenjahr nach dem gregorianischen Kalender zurück.
3 void setTimeZone Mit dieser Methode können Sie den Wert hinzufügen, um die Zeitzone festzulegen.
4 void setWeekDate Es ändert den GregorianCalendar auf das Datum, das von den Datumsbezeichnern angegeben wird.
5 boolean isWeekDateSupported() Es gibt nur true zurück, was zeigt, dass die Klasse bestimmte Wochendaten unterstützt.
6 void setGregorianChange(Datum Datum) Mit dieser Funktion können Sie das Datum ändern.
7 int hashCode() Es gibt Ihnen ein Hash-Code-Objekt für diesen gregorianischen Kalender.

die Bedeutung von Calendar-Konstruktoren in Java

Diese Konstruktoren helfen Ihnen, die Standardklassenstruktur zu erweitern und Gebietsschema, Datum, Uhrzeit, Zone und andere Funktionsparameter zu ändern, die Sie anpassen möchten. In den meisten Programmen möchten wir keine Standardlösungen, und manchmal möchten wir etwas Eigenes ausprobieren.

Im Gegenteil, die Präferenzen unserer Kunden bezüglich des Formats können unterschiedlich sein. Wir empfehlen daher dringend, diese Funktionen zu studieren.

Notiz
Wir werden die meisten dieser Methoden auch im nächsten Teil dieses Tutorials ausführen, um ihre Verwendung zu demonstrieren.
S.N Funktionsname & Syntax Zusammenfassung
1 GregorianCalendar() Erstellt ein Standardformat für die Region und die aktuelle Uhrzeit in der Standardregion.
2 GregorianCalendar(TimeZone zone) Basierend auf der aktuellen Zeit in der angegebenen Zeitzone.
3 GregorianCalendar(TimeZone zone, Locale aLocale) Basierend auf der aktuellen Zeit in der angegebenen Zeitzone und Region.
4 GregorianCalendar(int Jahr, int Monat, int TagOfMonth) Konstruiert einen GregorianCalendar mit dem angegebenen Datum, das in der Standardzeitzone und dem Standardgebietsschema festgelegt ist.
5 GregorianCalendar(int year, int month, int dayOfMonth, int hourOfDay, int minute) Konstruiert einen GregorianCalendar mit dem angegebenen Datum und der Uhrzeit für die Standardzeitzone und -region.

Implementierung der gregorianischen Kalenderklasse in Java

Ein einfaches Programm zum Ausdrucken des heutigen Datums mit getTime().

Beispiel 1:

package delftstack.calendar.com.util;

import java.util.Date;
import java.util.GregorianCalendar;

// A simple program to print today's date using getTime();
public class Example1 {
  public static void main(String[] args) {
    GregorianCalendar printtodaydate = new GregorianCalendar();
    Date defualt = printtodaydate.getTime();

    System.out.println(defualt);
  }
}

Ausgabe:

Mon Mar 28 04:50:00 PDT 2022

Beispiel 2: Holen Sie sich den aktuellen Wochentag.

package delftstack.calendar.com.util;

import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;
// get current day of the weak
public class Example2 {
  public static void main(String[] args) {
    GregorianCalendar DOW = new GregorianCalendar();
    SimpleDateFormat formatter = new SimpleDateFormat("EEEE");
    String dayOfWeek = formatter.format(DOW.getTime());
    System.out.println(dayOfWeek);
  }
}

Ausgabe:

Monday

Beispiel 3: Ändern Sie das aktuelle Datum nach 100 Jahren auf diesen Tag.

package delftstack.calendar.com.util;

import java.util.Calendar;
import java.util.GregorianCalendar;

// modify current date
// after 100 years on this day
public class Example3 {
  public static void main(String[] args) {
    GregorianCalendar gregorianCalendar = new GregorianCalendar();
    java.util.Date currentdate = gregorianCalendar.getTime();

    gregorianCalendar.set(Calendar.YEAR, gregorianCalendar.get(Calendar.YEAR) + 100);

    System.out.println("It is: " + currentdate + " today");
    System.out.println("After 100 year on today: " + gregorianCalendar.getTime());
  }
}

Ausgabe:

It is: Mon Mar 28 04:53:53 PDT 2022 today
After 100 year on today: Sat Mar 28 04:53:53 PDT 2122

Beispiel 4: Formatieren Sie das Kalenderdatum wie gewünscht neu YY-MMM-dd.

package delftstack.calendar.com.util;

import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;

public class Example4 {
  // reformat calendar date as you want
  // YY-MMM-dd
  public static void main(String[] args) {
    GregorianCalendar gregorianCalendar = new GregorianCalendar();
    SimpleDateFormat reformat = new SimpleDateFormat("YY/MM/dd");
    String newformat = reformat.format(gregorianCalendar.getTime());
    System.out.println(newformat);
  }
}

Ausgabe:

22/03/28

Beispiel 5: Was ist meine aktuelle Zeitzone?

package delftstack.calendar.com.util;

// what is my current time zone
import java.util.GregorianCalendar;

public class Example5 {
  public static void main(String[] args) {
    // Create a new calendar
    GregorianCalendar update = (GregorianCalendar) GregorianCalendar.getInstance();

    System.out.println("What is my current time zone? ");
    System.out.println("Your time zone is: " + update.getTimeZone().getDisplayName());
  }
}

Ausgabe:

What is my current time zone?
Your time zone is: Pacific Standard Time

Beispiel 6: Stelle meine aktuelle Zeitzone auf GMT.

package delftstack.calendar.com.util;

import java.util.GregorianCalendar;
import java.util.TimeZone;

public class Example6 {
  public static void main(String[] args) {
    // Create a new cal class
    GregorianCalendar setnewtimezone = (GregorianCalendar) GregorianCalendar.getInstance();
    // Convert to another time zone
    setnewtimezone.setTimeZone(TimeZone.getTimeZone("GMT"));
    System.out.println("Set my current time zone to GMT");
    setnewtimezone.getTimeZone().getDisplayName();
    System.out.println("Now print it to confirm updated time zone: "
        + setnewtimezone.getTimeZone().getDisplayName());
  }
}

Ausgabe:

Set my current time zone to GMT
Now print it to confirm the updated time zone: Greenwich Mean Time

Beispiel 7: Datum mit der Java-Klasse calendar anzeigen.

package delftstack.calendar.com.util;

import java.util.Calendar;

public class ShowDateWithJavaCalendarClass {
  public static void main(String[] args) {
    // Make an obj of Cal Class
    Calendar ModCalendarclass = Calendar.getInstance();

    System.out.println(
        "A simple program to show date using java calendar class: " + ModCalendarclass.getTime());
  } // function
} // class

Ausgabe:

A simple program to show date using java calendar class: Mon Mar 28 05:01:31 PDT 2022

Beispiel 8: Datum mit der Java-Klasse GregorianCalendar anzeigen.

package delftstack.calendar.com.util;

import java.util.GregorianCalendar;

public class ShowDateWithJavaGreogorianCalendarClass {
  public static void main(String[] args) {
    // use gregorian calendar class
    GregorianCalendar ModGg = new GregorianCalendar();
    // display date with grogerian

    System.out.print(
        "A simple program to show date using java gregorian calendar class: " + ModGg.getTime());
  }
}

Ausgabe:

A simple program to show date using java gregorian calendar class: Mon Mar 28 05:03:25 PDT 2022

Verwendung von den Konstruktor für die Klasse GregorianCalendar in Java

Beispiel 9: Datum mit der Java-Klasse GregorianCalendar anzeigen.

package delftstack.calendar.com.util;

import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Locale;

// creating GregorianCalendarExample1 to define default constructor
public class CustomizeCalUsingDefaultConstructor {
  // main() method start
  public static void main(String args[]) {
    // Make an array that contains months
    String setmonths[] = {
        "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};

    // Array for the AM, PM
    String ampm[] = {"AM", "PM"};

    // Create GregorianCalendar and use it as constructor
    GregorianCalendar ModGg = new GregorianCalendar();

    // Print date, time, others
    System.out.println("Current Date: " + ModGg.get(Calendar.DATE));
    System.out.println("Current Month: " + setmonths[ModGg.get(Calendar.MONTH)]);
    System.out.println("Current Year: " + ModGg.get(Calendar.YEAR));
    System.out.println("Current Time: " + ModGg.get(Calendar.HOUR) + ":"
        + ModGg.get(Calendar.MINUTE) + " " + ModGg.get(Calendar.SECOND) + " "
        + ampm[ModGg.get(Calendar.AM_PM)]);
    System.out.println("Region: " + ModGg.getTimeZone().getDisplayName());
    System.out.println("Region: " + Locale.getDefault().getDisplayName());
  }
}

Ausgabe:

Current Date: 28
Current Month: Mar
Current Year: 2022
Current Time: 5:7 15 AM
Region: Pacific Standard Time
Region: English (United States)

Zusammenfassung

Sie können die Standardparameter der Klasse GregorianCalendar in Java oder der Klasse calendar beliebig bearbeiten. Das Implementieren von Zeit, Datum, Zone, Gebietsschema und anderen Anpassungen ist für Neulinge relativ einfach.

Wir hoffen, dass Sie jetzt verstehen, wie man den gregorianischen Kalender in Java verwendet. Bitte passe das bisher Gelernte weiter an und übe es.

Sarwan Soomro avatar Sarwan Soomro avatar

Sarwan Soomro is a freelance software engineer and an expert technical writer who loves writing and coding. He has 5 years of web development and 3 years of professional writing experience, and an MSs in computer science. In addition, he has numerous professional qualifications in the cloud, database, desktop, and online technologies. And has developed multi-technology programming guides for beginners and published many tech articles.

LinkedIn

Verwandter Artikel - Java Calendar