Wie konvertiert man von java.util.Date in die Java 8 Date Time API?

Neben Lambda-Ausdrücken, virtuellen Methoden, Streams und vielen anderen netten Funktionen hat Java 8 auch ein neues Update erhalten Datums- und Uhrzeit-API die unter der gepflegt wird JSR-310. Einer der größten Vorteile dieser neuen API besteht darin, dass alle datums- und zeitbezogenen APIs im selben Paket java.time zusammengefasst sind. In meinen vorherigen Artikeln habe ich LocalDate und LocalTime erläutert. Dieses Beispiel zeigt, wie man von der alten Datums-API in die Java 8-API konvertiert.

Wenn Sie Fragen haben, schreiben Sie diese bitte in den Kommentarbereich oder posten Sie sie auf unserer Facebook-Seite. Weitere Artikel zu Java 8 können Sie hier lesen.

Wie konvertiert man von java.util.Date in die Java 8 Date Time API?

Mit Java 8 führt die Klasse java.util.Date eine neue Methode ein toInstant() die direkt in java.time.Instant konvertiert wird. Sobald Sie über die Instant-Klasse verfügen, ist es für die Entwickler noch einfacher, darauf umzusteigen java.time.LocalDateTime und dann entweder die LocalDate- oder LocalTime-Objekte abrufen. Schauen wir uns das Beispiel an.

Beispiel

package javabeat.net;

import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.ZoneId;
import java.util.Date;

/**
 * Convert from old Date format to Java 8 APIs
 *
 * @author www.javabeat.net
 *
 */
public class ConvertOldDateToJava8 {

	public static void main(String[] args) {
		Date date = new Date();
		System.out.println("Current Date in Old Date Object: " + date);
		Instant instant = date.toInstant();
		LocalDateTime localDateTime = LocalDateTime.ofInstant(instant,
				ZoneId.systemDefault());
		LocalDate localDate = localDateTime.toLocalDate();
		LocalTime localTime = localDateTime.toLocalTime();
		System.out.println("LocalDate : " + localDate);
		System.out.println("LocalTime : " + localTime);
	}
}

Die Ausgabe für das obige Programm lautet:

Current Date in Old Date Object: Sun Apr 12 10:05:47 IST 2015
LocalDate : 2015-04-12
LocalTime : 10:05:47.236

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen