Java 8 hat lokale und lokale Schnittstellen hinzugefügt. Warum müssen Sie eine neue Reihe von APIs entwickeln, die Daten und Zeiten umgehen? Weil der alte java.util.date wirklich schwer zu bedienen ist.
java.util.date Monat beginnt ab 0, Januar ist 0, Dezember ist 11, es ist abnormal! Java.Time.Localdate wurde sowohl für Monate als auch in der Woche in Enum geändert, sodass es unmöglich ist, es falsch zu verwenden.
Weder Java.util.date noch SimpledateFormatter sind thread-safe, während LocalDate und LocalTime die gleiche wie die einfachste Zeichenfolge sind und nicht nur mit Thread-Sicherheit sind, sondern auch nicht geändert werden können.
java.util.date ist eine "universelle Schnittstelle", die Daten, Zeit und Millisekunden enthält. Wenn Sie nur Java.util.date verwenden möchten, um Daten zu speichern oder nur Zeit zu speichern, wissen Sie nur, welche Teile der Daten nützlich sind und welche Teile der Daten nicht nützlich sind. In der neuen Java 8 sind Daten und Uhrzeite eindeutig in lokale und lokale Zeit unterteilt. LocalDate kann keine Zeit enthalten und lokale Zeit kann keine Daten enthalten. Natürlich kann LocalDatetime sowohl Datum als auch Uhrzeit umfassen.
Der Grund, warum die neue Schnittstelle besser ist, ist, dass sie den Betrieb von Datum und Uhrzeit berücksichtigt, und es passiert oft, wenn sie einige Tage nach vorne oder rückwärts drückt. Die Verwendung von Java.util.date mit Kalender erfordert viel Code zum Schreiben, und gewöhnliche Entwickler können ihn möglicherweise nicht richtig schreiben.
LOCALDATE
Lassen Sie uns sehen, wie Sie das neue LocalDate verwenden:
// das aktuelle Datum erhalten: localDate heute = localDate.now (); //-> 2014-12-24 // Erhalten Sie das Datum nach Jahr, Monat und Tag, Dezember ist 12: localdate crissismas = localDate.of (2014, 12, 25); //-> 2014-12-25 // Erhalten Sie das aktuelle Datum gemäß String: LocalDate Endoffeb = localDate.parse ("2014-02-28"); // Verifizieren Sie streng nach ISO YYYY-MM-DD, 02 dürfen nicht als 2. geschrieben werden. Natürlich gibt es auch eine Überlastmethode, mit der Sie das Format selbst definieren können LocalDate.Parse ("2014-02-29"); // Ungültiges Datum kann nicht übergeben werden: DateTimeParseException: Ungültiges Datum
Die Umwandlung von Datum wird häufig auftreten, wie beispielsweise:
// Nehmen Sie den ersten Tag dieses Monats: LocalDate Firstdayofthismonth = Today.with (temporaladjusters.Firstdayofmonth ()); // 2014-12-01 // Nehmen Sie den zweiten Tag dieses Monats: LocalDate Seconddayofthismonth = Today.withdayofmonth (2); // 2014-12-02 // Nehmen Sie den letzten Tag dieses Monats, und Sie müssen nicht mehr berechnen, ob es 28, 29, 30 oder 31 ist: localdate lastdayofthismonth = heute // 2014-12-31 // den nächsten Tag nehmen: localdate firstdayof2015 = lastdayofthismonth.plusdays (1); // Es wird 2015-01-01 // am ersten Montag im Januar 2015 einnehmen, und in dieser Berechnung wird Kalender verwendet, um viele Gehirnzellen abzutöten: localdate firstMondayof2015 = localDate.Parse ("2015-01-01"). Mit (temporaladjusters.firstin Month (Dayofeek.Monday.Monday.Monday)); // 2015-01-05 Lokale
Lokalzeit enthält nur Zeit. Wie kann ich die Zeit nur mit java.util.date darstellen? Die Antwort lautet, so tun Sie vor, das Datum zu ignorieren.
LokaleTime enthält Millisekunden:
Localtime now = LocalTime.now (); // 11: 09: 09.240
Vielleicht möchten Sie die Millisekunden löschen:
LocalTime Now = LocalTime.Now (). Withnano (0)); // 11:09:09
Die Bauzeit ist auch sehr einfach:
LocalTime Zero = LocalTime.of (0, 0, 0); // 00:00:00
LocalTime Mid = Localime.Parse ("12:00:00"); // 12:00:00
Die Zeit wird auch im ISO -Format erkannt, aber die folgenden drei Formate können identifiziert werden:
• 12: 00
• 12: 01: 02
• 12: 01: 02.345
JDBC
Die neueste JDBC -Zuordnung verbindet den Datumstyp der Datenbank mit dem neuen Typ von Java 8:
SQL -> Java
------------------------------------
Datum -> localDate
Zeit -> Lokalzeit
TIMESTAMP -> LOCALDATETIME
Es wird nie mehr Fälle geben, in denen einige Teile des Datums oder der Uhrzeit auf Java.util.date abgebildet werden, wo ein Teil des Datums oder der Uhrzeit 0 ist.
Die oben genannte Methode zum Umgang mit Datum und Zeit in Java 8, die Ihnen vom Herausgeber vorgestellt wurde. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird Ihnen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!