5 nützliche Funktionen der Java 8 Date and Time API

Im Jahr 2014 wurde mit der Veröffentlichung von Java 8 eine neue Datums- und Uhrzeit-API eingeführt. Sie können einfach auf diese API zugreifen, indem Sie das Paket java.time importieren.

Mit der Java 8 Datums- und Uhrzeit-API haben Entwickler einfachen Zugriff auf Datumsangaben, Uhrzeiten, Zeitzonen, Zeitpunkte, Dauern und Zeiträume. Diese Funktionen sind über eine umfangreiche Liste von Klassen im java.time- Paket verfügbar .

In diesem Tutorial lernen Sie fünf nützliche Funktionen der Java 8-API für Datum und Uhrzeit kennen.

1. Abrufen Ihrer Ortszeit

Die Java 8-API für Datum und Uhrzeit enthält eine Klasse namens LocalTime . Diese Klasse bietet eine Zeit im Format Stunde-Minute-Sekunde .

Verwandte: Wofür steht API? Beispiele für die Verwendung von APIs

Um Ihre aktuelle Uhrzeit mit dieser Klasse zu erhalten, müssen Sie zuerst ein neues Objekt der LocalTime- Klasse erstellen . Übergeben Sie dann das von der now()- Methode abgerufene Objekt an sie. Das neu erstellte Objekt speichert dann den aktuellen Zeitpunkt der Programmausführung. Dies liegt daran, dass die Methode now() die aktuelle Uhrzeit von der Systemuhr Ihres Computers abruft.

Verwenden des LocalTime-Klassenbeispiels

 import java.time.LocalTime;

public class DateTimeAPI {
public static void main(String[] args) {
// create a new time object that stores the local time
LocalTime time = LocalTime.now();

System.out.println("The current hour is: " + time.getHour());
System.out.println("The current minute is: " + time.getMinute());
System.out.println("The current second is: " + time.getSecond());
System.out.println("The current time to the nanosecond is: " + time);
}
}

Der obige Code führt mehrere einfache Aufgaben mit verschiedenen LocalTime- Methoden aus. Die Ausführung des obigen Codes erzeugt die folgende Ausgabe in der Konsole.

 The current hour is: 10
The current minute is: 45
The current second is: 19
The current time to the nanosecond is: 10:45:19.324014300

2. Holen Sie sich Ihr lokales Datum

Sie können Ihr lokales Datum über die Java 8-API für Datum und Uhrzeit abrufen, ähnlich wie Sie Ihre lokale Zeit abrufen. Der einzige Unterschied besteht darin, dass Sie die LocalDate- Klasse anstelle der LocalTime- Klasse verwenden.

Verwandte: Erfahren Sie, wie Sie Klassen in Java erstellen

Die LocalDate- Klasse verwendet die Jahr-Monat-Tag- Struktur, um mit Hilfe der now()- Methode das Systemdatum auf Ihrem Computer anzuzeigen. Die LocalDate- Klasse bietet Zugriff auf über 50 verschiedene Methoden, die Sie jedoch möglicherweise häufiger verwenden, sind die folgenden.

  • now() (nimmt keine Argumente an und gibt das aktuelle Datum zurück)
  • getYear() (übernimmt keine Argumente und gibt das aktuelle Jahr zurück)
  • getMonth() (nimmt keine Argumente an und gibt den aktuellen Monat zurück)
  • getDayOfWeek() (nimmt keine Argumente an und gibt den aktuellen Wochentag zurück)
  • getDayOfMonth() (nimmt keine Argumente an und gibt den aktuellen Tag des Monats zurück)
  • getDayOfYear() (übernimmt keine Argumente und gibt den aktuellen Tag des Jahres zurück)

Verwenden des LocalDate-Klassenbeispiels

 import java.time.LocalDate;

public class DateTimeAPI {
public static void main(String[] args) {
// create a new date object that stores the local date
LocalDate date = LocalDate.now();

System.out.println("The current year is: " + date.getYear());
System.out.println("The current month is: " + date.getMonth());
System.out.println("The current day of the week is: " + date.getDayOfWeek());
System.out.println("The current day of the Month is: " + date.getDayOfMonth());
System.out.println("The current day of the year is: " + date.getDayOfYear());
System.out.println("The current date is: " + date);
}
}

Der obige Code erzeugt die folgende Ausgabe in der Konsole.

 The current year is: 2021
The current month is: SEPTEMBER
The current day of the week is: TUESDAY
The current day of the Month is: 14
The current day of the year is: 257
The current date is: 2021-09-14

3. Prüfen Sie, ob das laufende Jahr ein Schaltjahr ist

Zu den vielen Methoden in der LocalDate- Klasse gehört die Methode isLeapYear() . Mit dieser Methode können Sie überprüfen, ob ein bestimmtes Jahr ein Schaltjahr ist. Um das aktuelle Jahr zu überprüfen, können Sie mit der now()- Methode ein neues LocalDate- Objekt erstellen und die isLeapYear()- Methode für das neu erstellte Objekt verwenden.

Die Verwendung der Methode isLeapYear() für ein LocalDate- Objekt gibt einen booleschen Wert zurück, der wahr ist, wenn das Jahr ein Schaltjahr ist, andernfalls falsch.

Verwenden des isLeapYear()-Methodenbeispiels

 import java.time.LocalDate;

public class DateTimeAPI {
public static void main(String[] args) {
// create an object to store the current date.
LocalDate date = LocalDate.now();

// check if the current year is a leap year.
boolean isLeap = date.isLeapYear();

// get the current year from the current date.
int year = date.getYear();

// tell the user if the current year is a leap year.
if (isLeap) {
System.out.println(year + " is a leap year.");
} else {
System.out.println(year + " is not a leap year.");
}
}
}

Der obige Code erzeugt die folgende Ausgabe in der Konsole.

 
2021 is not a leap year.

4. Holen Sie sich Ihr lokales Datum und Ihre Uhrzeit

In der Java 8-API für Datum und Uhrzeit gibt es eine Klasse namens LocalDateTime . Wie der Name schon sagt, können Sie mit dieser Klasse das Datum und die Uhrzeit an Ihrem aktuellen Standort abrufen.

Die Klasse hat mehrere wichtige Methoden, aber die now()- Methode könnte diejenige sein, mit der Sie sich zuerst vertraut machen möchten. Die now()- Methode der LocalDateTime- Klasse gibt das Datum und die Uhrzeit Ihres aktuellen Standorts zurück. Es verwendet die Jahr-Monat-Tag-T-Stunde:Minuten:Sekunden- Struktur; wobei das Datum zuerst erscheint und ein großes t es von der Uhrzeit trennt.

Verwenden des LocalDateTime-Klassenbeispiels

 import java.time.LocalDateTime;

public class DateTimeAPI {
public static void main(String[] args) {
// create a new date object that stores the local date
LocalDateTime dateTime = LocalDateTime.now();

// the current time
System.out.println("The current hour is: " + dateTime.getHour());
System.out.println("The current minute is: " + dateTime.getMinute());
System.out.println("The current second is: " + dateTime.getSecond());

// the current date
System.out.println("The current year is: " + dateTime.getYear());
System.out.println("The current month is: " + dateTime.getMonth());
System.out.println("The current day of the week is: " + dateTime.getDayOfWeek());
System.out.println("The current day of the Month is: " + dateTime.getDayOfMonth());
System.out.println("The current day of the year is: " + dateTime.getDayOfYear());

// the current date and time
System.out.println("The current date and time is: " + dateTime);
}
}

Der obige Code erzeugt die folgende Ausgabe in der Konsole.

 The current hour is: 11
The current minute is: 9
The current second is: 30
The current year is: 2021
The current month is: SEPTEMBER
The current day of the week is: TUESDAY
The current day of the Month is: 14
The current day of the year is: 257
The current date and time is: 2021-09-14T11:09:30.009675800

Wie Sie in der obigen Ausgabe sehen können, kann die LocalDateTime- Klasse eine Datums- und Uhrzeitkombination sowie die einzelnen Werte (z. B. den aktuellen Monat) generieren, die Sie von den LocalDate- und LocalTime-Klassen erhalten.

5. Rufen Sie das aktuelle Datum und die aktuelle Uhrzeit eines Standorts anhand seiner Zeitzone ab

Wie Sie bisher gesehen haben, verfügt die Java 8-API für Datum und Uhrzeit über viele nützliche Funktionen. Ein weiterer nützlicher ist die Möglichkeit, die Zeitzone Ihres aktuellen Standorts oder das Datum und die Uhrzeit an einem Standort mithilfe seiner Zeitzone abzurufen.

Verwenden des Beispiels für die ZonedDateTime-Klasse

 import java.time.ZoneId;
import java.time.ZonedDateTime;

public class DateTimeAPI {
public static void main(String[] args) {
// create a new object to store your local date, time, and time-zone.
ZonedDateTime zDateTime = ZonedDateTime.now();

// create a zoneId object to store your local time-zone
ZoneId localTimeZone = zDateTime.getZone();

// create a new zoneId object to store the zoneId provided by the user
ZoneId newZoneId = ZoneId.of("GMT-03:00");

// create an object to store the current date, time, and time-zone
// retrieved using the zoneId provide by the user
ZonedDateTime newLocation = ZonedDateTime.now(newZoneId);

System.out.println("The date, time, and time-zone at your current location is: " + zDateTime);
System.out.println("The time-zone at your current location is: " + localTimeZone);
System.out.println("The date, time, and time-zone at the new time-zone is: " + newLocation );
}
}

Im obigen Code passiert viel. Wie die vorherigen Klassen verwendet die ZoneDateTime- Klasse die now()- Methode, die in diesem Fall ein Objekt mit dem aktuellen Datum, der Uhrzeit und der Zeitzone zurückgibt.

Im Gegensatz zu den vorherigen Beispielen nimmt die ZoneDateTime- Klasse jedoch eine Zeitzone vom Benutzer und gibt das entsprechende Datum und die entsprechende Uhrzeit zurück.

Der obige Code erzeugt die folgende Ausgabe in der Konsole.

 The date, time, and time-zone at your current location is: 2021-09-14T15:00:17.029010300-05:00[GMT-05:00]
The time-zone at your current location is: GMT-05:00
The date, time, and time-zone at the new time-zone is: 2021-09-14T17:00:17.042989-03:00[GMT-03:00]

Wie Sie der obigen Ausgabe entnehmen können, liegt die Zeitzone GMT-03:00 zwei Stunden vor der Zeitzone GMT-05:00.

Erfahren Sie mehr über APIs

In diesem Tutorial haben Sie die fünf wichtigsten Funktionen der Java 8-API für Datum und Uhrzeit kennengelernt. Diese Liste ist keineswegs vollständig, und es gibt andere Funktionen der API, die Sie erkunden können.

Wenn Sie jedoch wissen möchten, wie APIs im Allgemeinen funktionieren, gibt es Ressourcen, die Ihnen dabei helfen.