Hey, willkommen zurück, Leute. Scott Stanlick hier. In dieser Lektion werden wir einen Blick darauf werfen bei der neuen Java Date/Time API. Wir werden viele lokale Dates sehen, Datums- und Uhrzeitfunktion der lokalen Zeitzone. Wir werden sehen, wie man mit Perioden arbeitet und Dauern, um Zeitspannen zu bestimmen zwischen diesen verschiedenen zeitlichen Typen. Und dann endlich, Wir werden uns zeitliche Anpassungen ansehen die sind einfach wahnsinnig cool. Sie werden es genießen. Beginnen wir also mit einem Blick auf warum die Java Date/Time API überhaupt entstanden ist und es ist eine geschichtsträchtige Geschichte. Das Legacy-Datum und die Uhrzeit des gregorianischen Kalenders und Kalender und so weiter, gibt es seit Java 1.0 und ich sage dir, sie sind ziemlich schrecklich. Sie sind nicht threadsicher, sie sind änderbar Das heißt, sie können sich unter dir verändern wenn du nicht aufpasst. Sie sind sehr schlecht konstruiert in Bezug darauf, wie sie gebaut wurden. Daten beginnen mit 1900, Monate beginnen bei eins, Tage beginnen bei Null, und das ist wahrscheinlich genug. Es war einfach verrückt. Und es war auch schwierig Zeitzonen mit der alten Welt zu handhaben. Also blättern wir um und werfen wir einen Blick auf dieses neue Ding. Die neue Java Date/Time API ist komplett von Grund auf neu geschrieben. Es ist kristallklar, sauber, und es funktioniert bemerkenswert gut. Es ist unveränderlich, also werden Sie uns nicht sagen sehen wusste dies, wusste das oder das andere. Stattdessen werden wir solche Dinge tun. Sagen wir, ich würde es gerne wissen was das lokale Datum jetzt ist. Oder ich würde es gerne wissen wie die Ortszeit jetzt ist und Ortsdatum, Ortszeit, oder die Kombination hier, lokale Datumszeit, die sowohl Datum als auch Uhrzeit kombiniert. Sie wissen nichts von der Zeitzone, und oft ist es dir egal und muss es nicht wissen. Wenn Sie brauchen sich mit der Zeitzone beschäftigen, Wie Sie sehen können, gibt es eine Datums- und Zeitzone. Das sind also die vier Typen das sind im Grunde das Fundament darunter. Es gibt also unzählige Methoden, Es gibt Unmengen von Arten, aber sobald Sie anfangen zu sehen, wie das funktioniert, es rollt einfach von deiner zunge. Es ist so mühelos, damit zu arbeiten. Also zum Beispiel jetzt Datum, Das ist mein lokales Datum hier, Ich kann sagen, bekomme Monat. In diesem Fall, Ich werde die Datumszeit der Zone verwenden jetzt als pazifische Zeit. Also sage ich jetzt Datumszeit der zentralen Zone, das bin ich hier. Aber mit der Zone, gleicher Augenblick. Mit anderen Worten, Ich will jetzt wissen, wie spät es ist wenn ich in pazifischer Zeit wäre und es sollte zwei Stunden vor Central stehen. Ich bin zufällig in Central. Wenn wir also diese Methode ausführen, Wir führen diesen Test durch, Wir sollten sehen, dass ich mich in Central Time befinde. Das sollten wir sehen jetzt, da die pazifische Zeit zwei Stunden vor mir liegt. Also lass uns hier sehen, 17:54 ist meine Zeit, Chicago-Zentrale. Ja, es ist 15:54, zwei Stunden vor mir. Also los geht's. Wir sehen das lokale Datum, Ortszeit mit Millisekunden-Präzision. Wir sehen die lokale Datumszeit das ist die Kombination der beiden und dann sehen wir jetzt die Datumszeit der zentralen Zone. Es ist also die ganze Enchilada. Und minus fünf sind minus fünf Stunden außerhalb der Greenwich Mean Time. Als ich also fragte, welcher Monat es ist, es sagte mir August. Fabelhaft. Also lasst uns einen Blick darauf werfen bei einigen anderen Dingen, die wir tun können Sobald wir einen Zeitpunkt festgelegt haben, ein Tag oder eine Zeit. Wir können Dinge tun wie Stunden hinzufügen, Minuten, Tage, Jahre, was auch immer. Es steht uns hier zur Verfügung. In diesem Fall sage ich, Ich möchte wissen, was morgen ist. Wenn also heute der 5. August 2022 wäre, Nun, morgen wird ein plus ein Tag sein, 06.08.2022. Super, das würde Sinn machen. Ich schaue auf meinen Kalender. Aber dieses Ding versteht, wenn dies passiert ist der 28. Februar gewesen sein, was es morgen sein soll wenn es ein Schaltjahr ist, wenn es kein Schaltjahr ist. Wenn es der 31. Dezember ist und einen Tag hinzufügen rollt es schließlich in ein neues Jahr. Es ist sich all dieser Überschläge sehr bewusst. Also gibt es heute ein Plus. Ich sagte, ist morgen nach heute, richtig? Und es liest sich einfach so. Morgen ist nach heute. Das ist richtig. Wenn ich sehe, dass heute nach morgen ist, es sagt nein. Dann sage ich heute, erhalte Wochentag. Freitag steht da. Holen Sie sich den Tag des Monats, fünf, erhalten Tag des Jahres, 217. Heute ist also der 217. Tag des Jahres. Es ist wunderschön. Abwärtskompatibilität wird unterstützt. Lassen Sie mich das richtig buchstabieren. Unterstützung für Abwärtskompatibilität. Und es funktioniert so. Ich habe es dir vorhin gesagt dass es echte Probleme gab mit altem Datum/Uhrzeit. Wie zum Beispiel das Jahr begann mit 1900. Also wenn ich meinen Geburtstag gestalten wollte Nutzung des alten Systems, Ich würde sagen 1970 minus 1900. Und dann ist fünf der Monat, die nullbasiert ist, das ist Juni, das ist sechs. Und dann war der Tag eigentlich eine Base, also 15. Das sollte der 15. Juni 1970 sein und ich kann es ausdrucken. Dann kann ich sagen, Ich möchte dieses Vermächtnis zum Geburtstag verwandeln in eine lokale Datumszeit. Das ist also die Brücke, wenn Sie so wollen den Alten zu nehmen und wandeln Sie es in eine neue lokale Datumszeit um. Also lassen Sie uns das ausführen. Ich sollte das alte Datum sehen und dann sollte ich das neue Datum sehen das ist effektiv der gleiche Punkt auf der Zeitachse. Da ist also das Legacy-Geburtsdatum das war Montag, der 15. Juni, CBT 1970, und hier ist das moderne Datum, das ist die lokale Datumszeit, und beide sind der 15. Juni 1970. Sie haben also einwandfrei funktioniert. Genial. Vielen Dank fürs Zuschauen.