Die Designprinzipien hinter den neuen Datums- und Zeitklassen:
Unveränderliche Klasse
Vor Java8 war die Datumsklasse alles veränderlich. Wenn wir es in einer Multithread-Umgebung verwenden, sollten Programmierer bestätigen, dass das Datumsobjekt Thread-Safe ist. Datum und Uhrzeit-APIs von Java8 bieten unveränderliche Thread-Safe-Klassen. Programmierer müssen das Problem der Parallelität nicht berücksichtigen.
Domänenmodellgetriebene Entwurfsmethode
Die neuen Kategorien von Daten und Zeiten folgen dem "Domain -gesteuerten Design". Für Entwickler ist es einfach, die Funktionen von Methoden und Klassen zu verstehen.
Als nächstes werfen wir einen Blick auf das neue Datum und die Uhrzeit -APIs:
1.java.time.localdate:
LocalDate bietet nur Daten, aber keine Zeitinformationen. Es ist unveränderlich und fadensicher.
Paket org.smartTechie; import Java.time.localdate; Import Java.time LocalDate localDate = localDate.now (); System.out.println ("Das lokale Datum ist ::" + localDate); // Finde die Länge des Monats. Das heißt, wie viele Tage gibt es für diesen Monat. System.out.println ("Die Anzahl der für diesen Monat verfügbaren Tage ::" + localDate.lengthOfMonth ()); // Kennen Sie den Monatsnamen system.out.println ("Wie lautet der Monat? // 2 Tage zum heutigen Datum hinzufügen. System.out.println (localdate.plus (2, chronounit.days)); // Substract 2 Tage ab heute system.out.println (localdate.minus (2, chronounit.days)); // Die String-String to date system.out.println (localDate.parse ("2017-04-07")); }}2.java.time.localTime:
Lokalzeit liefert nur Zeit- und Nicht-Datumsinformationen, es ist unveränderlich und thread-sicher.
Paket org.smarttechie; import Java.time.localTime; Import Java.time LocalTime = LocalTime.Now (); System.out.println (lokale Zeit); // Erhalten Sie die Stunde des Tages system.out.println ("Die Stunde des Tages ::" + Localtime.gethour ()); // 2 Stunden in die Zeit hinzufügen. System.out.println (LocalTime.plus (2, Chronounit.Phours)); // 6 Minuten in die Zeit hinzufügen. System.out.println (LocalTime.plusminutes (6)); // Substract 2 Stunden vom aktuellen Zeit -System.out.println (LocalTime.minus (2, Chronounit.Phours)); }}3.java.time.localdatetime:
LocalDatetime bietet Informationen zu Zeit und Datum, es ist unveränderlich und fadensicher
Paket orr.smartTechie; import Java.time.localdatetime; Import Java.time LocalDatetime -Objekt localDatetime localDatetime = localDateTime.now (); System.out.println (localDatetime); // finde die Länge des Monats. Das heißt, wie viele Tage gibt es für diesen Monat. System.out.println ("Die Anzahl der für diesen Monat verfügbaren Tage ::" + localDatetime.getMonth (). Länge (wahr)); // Kennen Sie den Monatsnamen system.out.println ("Wie lautet der Monat? // 2 Tage zum heutigen Datum hinzufügen. System.out.println (localDateTime.plus (2, chronounit.days)); // Substract 2 Tage ab heute system.out.println (localDatetime.minus (2, chronounit.days)); }} 4.java.time.year:
Das Jahr liefert Informationen über das Jahr, es ist unveränderlich und fadensicher.
Paket orr.smartTechie; Import Java.Time.year; Import Java.Time Jahr.Now (); System.out.println ("Jahr ::" + Jahr); // weiß, dass das Jahr Schaltjahr oder nicht system.out.println ("ist Jahr ["+Jahr+"] Schaltjahr?"+Jahr.isap ()); }}5.java.time.duration:
Dauer wird verwendet, um zu berechnen, wie viele Sekunden und wie viele Millisekunden zwischen zwei gegebenen Daten enthalten sind. Es ist unveränderlich und fadensicher.
6.java.time.Period:
Die Periode wird verwendet, um zu berechnen, wie viele Tage, Monate oder Jahre zwischen zwei angegebenen Daten enthalten sind. Es ist unveränderlich und fadensicher.
Paket orr.smartTechie; import Java.time args) {localDate localDate = localDate.now (); Periode Periode = Periode. System.out.println (Periode.getays ()); }}