Ich möchte die Java 8 DateTime-API (jetzt) langsam verwenden.

Es ist sehr neu, aber es wird meistens gemieden, daher möchte ich es überall dort verwenden, wo es verwendet werden kann. Beachten Sie, dass.

Zeiteinheit

Bisher: Literal oder java.util.concurrent.TimeUnit

https://docs.oracle.com/javase/jp/8/docs/api/java/util/concurrent/TimeUnit.html Es ist eigentlich eine "Zeiteinheit" -Klasse aus Java 5.

// int sec = 60*3; //Das ist
long sec = TimeUnit.MINUTES.toSeconds(3); //Wird so sein

Wow, an dieser Stelle etwas Nützliches. Tatsächlich musste Java 5 zum Zeitpunkt der "alten Tage" nicht mehr 60 * 3 oder 1 * 24 * 60 * 60 ausführen!

Java8: java.time.Duration https://docs.oracle.com/javase/jp/8/docs/api/java/time/Duration.html

// int sec = 60*3; //Das ist
long sec = Duration.ofMinutes(3).getSeconds(); //Das passiert

Ehrlich gesagt denke ich, dass es egal ist, welches Sie verwenden (zumindest ist es besser als 60 * 3). Dieser ist jedoch neuer und vor allem gefällt mir dieser, weil er als "Stundeneinheit, 3 Minuten in Sekunden" gelesen werden kann.

Format / Perth

Bisher: java.text.SimpleDateFormat

https://docs.oracle.com/javase/jp/8/docs/api/java/text/SimpleDateFormat.html

langsam! Es ist nicht threadsicher! → Es ist nervig!

java.time.format.DateTimeFormatter https://docs.oracle.com/javase/jp/8/docs/api/java/time/format/DateTimeFormatter.html

Diese Klasse ist unveränderlich und threadsicher.

http://www.ne.jp/asahi/hishidama/home/tech/java/DateTimeFormatter.html

DateTimeFormatter ist threadsicher, sodass Sie es in einem statischen Feld definieren und in mehreren Threads verwenden können. Die Instanziierung ist übrigens auch leichter als SimpleDateFormat. In Bezug auf die Formatierung scheint es langsamer zu sein als SimpleDateFormat, aber DateTimeFormatter ist auch für das Parsen schneller.

** Wir wollten das! ** ** ** Sie müssen sich nicht mehr auf Apache Commons verlassen!

Jedoch,

Bei DateTimeFormatter werden die Leerzeichen in der Zielzeichenfolge jedoch nur akzeptiert, wenn die Leerzeichen in der Formatzeichenfolge angegeben sind.

Und,

Wenn Sie das Leerzeichen als optionales Format festlegen, wird es mit oder ohne Leerzeichen akzeptiert. Es können jedoch nicht mehrere Leerzeichen verarbeitet werden. (Es können mehrere Optionen angegeben werden, es kann jedoch keine Nummer verarbeitet werden.)

Bitte beachten Sie, dass es subtile Unterschiede gibt. (Aber wenn es so ein Unterschied ist, können Sie es einfach aufräumen!)

Recommended Posts

Ich möchte die Java 8 DateTime-API (jetzt) langsam verwenden.
Ich möchte Java8 für jeden mit Index verwenden
[Java] Ich möchte die Differenz zum Datum berechnen
Ich möchte ES2015 auch in Java verwenden! → (´ ・ ω ・ `)
Ich möchte, dass Sie Scala vorerst als besseres Java verwenden
[Anfänger] Ich möchte die Migrationsdatei ändern.
[java8] Um die Stream-API zu verstehen
Ich möchte eine andere Desinfektionsmethode als Ansicht verwenden.
Java 8 ~ Stream API ~ startet jetzt
Ich habe jetzt versucht, Java 8 zusammenzufassen
Ich möchte die if-else-Anweisung für bedingte Verzweigungen in Java vereinfachen
Ich möchte Java Applet einfach in der Befehlszeile verwenden, ohne IDE zu verwenden
Ich möchte mit Kotlin und Java zum vorherigen Bildschirm zurückkehren!
[Java] Ich möchte mit dem Schlüssel im Objekt eindeutig arbeiten
Ich möchte DBViewer mit Eclipse 2018-12 verwenden! !!
[Java] Verwendung der toString () -Methode
Studieren der Verwendung des Konstruktors (Java)
[Verarbeitung × Java] Verwendung der Schleife
Java 8 startet jetzt ~ Datums- und Uhrzeit-API ~
[Verarbeitung × Java] Verwendung der Klasse
Ich habe versucht, die Stream-API zusammenzufassen
Ich möchte Java-Updates insgesamt stoppen
[Verarbeitung × Java] Verwendung der Funktion
Ich möchte @Autowired in Servlet verwenden
Ich ging zum Java Women's Club # 1
[Java] Verwendung der Calendar-Klasse
Ich habe die COTOHA-API-Syntaxanalyse 100 Mal in Java aufgerufen, um die Leistung zu messen.
Ich möchte die IP-Adresse erhalten, wenn ich mit Java eine Verbindung zu Wi-Fi herstelle
Ich möchte den Feldnamen des [Java] -Felds erhalten. (Alter Ton)
[Java Spring MVC] Ich möchte DI in meiner eigenen Klasse verwenden
Ich möchte, dass Sie Enum # name () für den Schlüssel von SharedPreference verwenden
Ich möchte eine E-Mail in Java senden.
Ich möchte den Inhalt der Absicht var_dump
Wenn Sie die Methode außerhalb verwenden möchten
rsync4j - Ich möchte rsync in Java berühren.
Verwendung der Java-API mit Lambda-Ausdrücken
Verwendung der replace () -Methode (Java Silver)
Ich möchte schnell von Java nach SQLite schreiben
Ich möchte nach dem Dezimalpunkt abschneiden
Ich möchte den Wert in Ruby erhalten
[Eclipse] Ich möchte die Abschlussfunktion verwenden, aber ich möchte es schaffen, den Abschluss mit einem Leerzeichen zu bestätigen
Ich möchte die praktischen Funktionen von Clojure in Kotlin nutzen
Ich möchte so etwas wie "cls" in Java machen
Ich möchte NetBeans auf einem Mac verwenden → Ich kann es verwenden!
Ich möchte eine TraceId in das Protokoll einbetten
Ich möchte auch in Laradock Fischschalen verwenden! !!
Verwenden Sie Java-Lambda-Ausdrücke außerhalb der Stream-API
Ich möchte den Bereich anhand des monatlichen Abschlusses beurteilen
Ich möchte die Antwort der Janken-App wissen
[Rails] Ich weiß nicht, wie ich das Modell verwenden soll ...
Ich möchte den Namen des Posters des Kommentars anzeigen
Ich möchte den Dunkelmodus mit der SWT-App verwenden