Java SE 8 Standard-Bibliothek  
Professionelle Bücher. Auch für Einsteiger.
 
Inhaltsverzeichnis

Vorwort
1 Neues in Java 8 und Java 7
2 Fortgeschrittene String-Verarbeitung
3 Threads und nebenläufige Programmierung
4 Datenstrukturen und Algorithmen
5 Raum und Zeit
6 Dateien, Verzeichnisse und Dateizugriffe
7 Datenströme
8 Die eXtensible Markup Language (XML)
9 Dateiformate
10 Grafische Oberflächen mit Swing
11 Grafikprogrammierung
12 JavaFX
13 Netzwerkprogrammierung
14 Verteilte Programmierung mit RMI
15 RESTful und SOAP-Web-Services
16 Technologien für die Infrastruktur
17 Typen, Reflection und Annotationen
18 Dynamische Übersetzung und Skriptsprachen
19 Logging und Monitoring
20 Sicherheitskonzepte
21 Datenbankmanagement mit JDBC
22 Java Native Interface (JNI)
23 Dienstprogramme für die Java-Umgebung
Stichwortverzeichnis

Jetzt Buch bestellen
Ihre Meinung?

Spacer
<< zurück
Java SE 8 Standard-Bibliothek von Christian Ullenboom
Das Handbuch für Java-Entwickler
Buch: Java SE 8 Standard-Bibliothek

Java SE 8 Standard-Bibliothek
Pfeil 5 Raum und Zeit
Pfeil 5.1 Weltzeit *
Pfeil 5.2 Wichtige Datum-Klassen im Überblick
Pfeil 5.2.1 Der 1.1.1970
Pfeil 5.2.2 System.currentTimeMillis()
Pfeil 5.2.3 Einfache Zeitumrechnungen durch TimeUnit
Pfeil 5.3 Sprachen der Länder
Pfeil 5.3.1 Sprachen und Regionen über Locale-Objekte
Pfeil 5.4 Internationalisierung und Lokalisierung
Pfeil 5.4.1 ResourceBundle-Objekte und Ressource-Dateien
Pfeil 5.4.2 Ressource-Dateien zur Lokalisierung
Pfeil 5.4.3 Die Klasse ResourceBundle
Pfeil 5.4.4 Ladestrategie für ResourceBundle-Objekte
Pfeil 5.4.5 Ladeprozess und Format anpassen *
Pfeil 5.5 Die Klasse Date
Pfeil 5.5.1 Objekte erzeugen und Methoden nutzen
Pfeil 5.5.2 Date-Objekte sind nicht immutable
Pfeil 5.6 Calendar und GregorianCalendar
Pfeil 5.6.1 Die abstrakte Klasse Calendar
Pfeil 5.6.2 Calendar nach Date und Millisekunden fragen
Pfeil 5.6.3 Abfragen und Setzen von Datumselementen über Feldbezeichner
Pfeil 5.6.4 Kalender-Typen *
Pfeil 5.6.5 Kalender-Exemplare bauen über den Calendar.Builder
Pfeil 5.6.6 Wie viele Tage hat der Monat, oder wie viele Monate hat ein Jahr? *
Pfeil 5.6.7 Wann beginnt die Woche und wann die erste Woche im Jahr? *
Pfeil 5.6.8 Der gregorianische Kalender
Pfeil 5.7 Zeitzonen in Java *
Pfeil 5.7.1 Zeitzonen durch die Klasse TimeZone repräsentieren
Pfeil 5.7.2 SimpleTimeZone
Pfeil 5.7.3 Methoden von TimeZone
Pfeil 5.9 Formatieren und Parsen von Datumsangaben
Pfeil 5.9.1 Ausgaben mit printf(…)
Pfeil 5.9.2 Ausgaben mit Calendar-Methoden getDisplayName(…) *
Pfeil 5.9.3 Mit DateFormat und SimpleDateFormat formatieren
Pfeil 5.9.4 Parsen von Datumswerten
Pfeil 5.10 Date-Time-API in Java 8
Pfeil 5.10.1 Datumsklasse LocalDate
Pfeil 5.10.2 Ostertage *
Pfeil 5.10.3 Die Klasse YearMonth
Pfeil 5.10.4 Die Klasse MonthDay
Pfeil 5.10.5 Aufzählung DayOfWeek und Month
Pfeil 5.10.6 Klasse LocalTime
Pfeil 5.10.7 Klasse LocalDateTime
Pfeil 5.10.8 Klasse Year
Pfeil 5.10.9 Zeitzonen-Klassen ZoneId und ZoneOffset
Pfeil 5.10.10 Temporale Klassen mit Zeitzoneninformationen
Pfeil 5.10.11 Klassen Period und Duration
Pfeil 5.10.12 Klasse Instant
Pfeil 5.10.13 Parsen und Formatieren von Datumszeitwerten
Pfeil 5.10.14 Das Paket java.time.temporal *
Pfeil 5.10.15 Konvertierungen zwischen der klassischen API und Date-Time-API
Pfeil 5.11 Die Default-Falle
Pfeil 5.12 Zum Weiterlesen
 
Zum Seitenanfang

5.2Wichtige Datum-Klassen im Überblick Zur vorigen ÜberschriftZur nächsten Überschrift

Weil Datumsberechnungen verschlungene Gebilde sind, können wir den Entwicklern von Java dankbar sein, dass sie uns viele Klassen zur Datumsberechnung und -formatierung beigelegt haben. Die Entwickler hielten die Klassen so abstrakt, dass lokale Besonderheiten wie Ausgabeformatierung, Parsen, Zeitzonen, Sommer- und Winterzeit unter verschiedenen Kalendern möglich sind.

Bis zur Java-Version 1.1 stand zur Darstellung und Manipulation von Datumswerten ausschließlich die Klasse java.util.Date zur Verfügung. Diese hatte mehrere Aufgaben:

  • Erzeugung eines Datum-Objekts aus Jahr, Monat, Tag, Minute und Sekunde

  • Abfrage von Tag, Monat, Jahr … mit der Genauigkeit von Millisekunden

  • Ausgabe und Verarbeitung von Datum-Zeichenketten

Da die Date-Klasse nicht ganz fehlerfrei und internationalisiert war, wurden im JDK 1.1 neue Klassen eingeführt:

  • Calendar nimmt sich der Aufgabe von Date an, zwischen verschiedenen Datumsrepräsentationen und Zeitskalen zu konvertieren. Die Unterklasse GregorianCalendar wird direkt erzeugt.

  • DateFormat zerlegt Datum-Zeichenketten und formatiert die Ausgabe. Auch Datum-Formate sind vom Land abhängig, das Java durch Locale-Objekte darstellt, und von einer Zeitzone, die durch die Exemplare der Klasse TimeZone repräsentiert ist.

In Java 8 ist eine weitere Datumsbibliothek mit ganz neuen Typen eingezogen. Endlich können auch Datum und Zeit getrennt repräsentiert werden:

  • LocalDate, LocalTime, LocalDateTime sind die temporalen Klassen für ein Datum, für eine Zeit und für eine Kombination aus Datum und Zeit.

  • Period und Duration stehen für Abstände.

 
Zum Seitenanfang

5.2.1Der 1.1.1970 Zur vorigen ÜberschriftZur nächsten Überschrift

Der 1.1.1970 war ein Tag mit wegweisenden Änderungen. In der katholischen Kirche wurde der Allgemeine Römische Kalender eingeführt,[ 60 ](Cäsar und der julianische Kalender liegen noch weiter zurück.) und die Briten freuten sich, dass die Volljährigkeit von 24 Jahren auf 18 Jahre fiel. Auch für uns Java-Entwickler ist der 1.1.1970 von Bedeutung, denn viele Zeiten in Java sind relativ zu diesem Datum. Der Zeitstempel 0 bezieht sich auf den 1.1.1970 0:00:00 Uhr Greenwich-Zeit – das entspricht 1 Uhr nachts deutscher Zeit. Die Genauigkeit, in der Java zählt, liegt auf der Ebene von Millisekunden. So ist 0 der 1.1.1970, und 1273222647313 verweist auf den Vormittag des 7. Mai 2010.

 
Zum Seitenanfang

5.2.2System.currentTimeMillis() Zur vorigen ÜberschriftZur nächsten Überschrift

Die Anzahl der Millisekunden wird in einem long repräsentiert, also in 64 Bit. Das reicht für etwa 300 Millionen Jahre. Die Methode System.currentTimeMillis()liefert die vergangenen Millisekunden relativ zum 1.1.1970, wobei allerdings die Uhr des Betriebssystems nicht so genau gehen muss.

 
Zum Seitenanfang

5.2.3Einfache Zeitumrechnungen durch TimeUnit Zur vorigen ÜberschriftZur nächsten Überschrift

Eine Zeitdauer wird in Java oft durch Millisekunden ausgedrückt. 1.000 Millisekunden entsprechen 1 Sekunde, 1.000 × 60 Millisekunden 1 Minute usw. Diese ganzen großen Zahlen sind jedoch nicht besonders anschaulich, sodass zur Umrechnung TimeUnit-Objekte mit ihren toXXX(…)-Methoden genutzt werden.

Java deklariert folgende Konstanten in TimeUnit:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • DAYS

  • HOURS

  • SECONDS

  • MINUTES

Jedes der Aufzählungselemente definiert die Umrechnungsmethoden toDays(…), toHours(…), toMicros(…), toMillis(…), toMinutes(…), toNanos(…), toSeconds(…); sie bekommen ein long und liefern ein long in der entsprechenden Einheit. Zudem gibt es eine Methode convert(…), die von einer Einheit in einer andere umrechnet.

[zB]Beispiel

Konvertiere 23.746.387 Millisekunden in Stunden:

System.out.println( TimeUnit.MILLISECONDS.toHours( 23746387 ) ); // 6
System.out.println( TimeUnit.HOURS.convert(
23746387, TimeUnit.MILLISECONDS ) ); // 6
enum java.util.concurrent.TimeUnit
extends Enum<TimeUnit>
implements Serializable, Comparable<TimeUnit>
  • NANOSECONDS, MICROSECONDS, MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS
    Aufzählungselemente von TimeUnit

  • long toDays(long duration)

  • long toHours(long duration)

  • long toMicros(long duration)

  • long toMillis(long duration)

  • long toMinutes(long duration)

  • long toNanos(long duration)

  • long toSeconds(long duration)

  • long convert(long sourceDuration, TimeUnit sourceUnit)
    Liefert sourceUnit.toXXX(sourceDuration), wobei XXX für die jeweilige Einheit steht. Beispielsweise liefert es HOURS.convert(sourceDuration, sourceUnit), dann sourceUnit.toHours(1). Die Lesbarkeit der Methode ist nicht optimal, daher sollten die anderen Methoden bevorzugt werden.

 


Ihre Meinung

Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.

<< zurück
 Zum Rheinwerk-Shop
Zum Rheinwerk-Shop: Java SE 8 Standard-Bibliothek Java SE 8 Standard-Bibliothek
Jetzt Buch bestellen

 Buchempfehlungen
Zum Rheinwerk-Shop: Java ist auch eine Insel
Java ist auch eine Insel


Zum Rheinwerk-Shop: Professionell entwickeln mit Java EE 8
Professionell entwickeln mit Java EE 8


Zum Rheinwerk-Shop: Besser coden
Besser coden


Zum Rheinwerk-Shop: Entwurfsmuster
Entwurfsmuster


Zum Rheinwerk-Shop: IT-Projektmanagement
IT-Projektmanagement


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo

 
 


Copyright © Rheinwerk Verlag GmbH 2018. Original - https://www.rheinwerk-verlag.de/openbook/
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das Openbook denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

 

 
 


20.04.2024 - Sitemap.xml