Wurde im Basisjahr der Java-Kalenderwoche durchgeführt

Auslösen

Ich habe eine Java-App, die ich entwickelt habe. Es gibt eine Funktion zum Registrieren von Elementen darin, und das registrierte Datum wird auch in der DB registriert. Ich habe mich am 29. Dezember 2019 registriert, aber als ich mir die in der DB registrierten Daten angesehen habe, war das Datum der Registrierung der 29. Dezember 2020. Ich habe mich gefragt, warum und die Ursache untersucht, deshalb werde ich sie hier zur Erinnerung zusammenfassen.

Ergebnis

Infolgedessen wird das registrierte Datum als Zeichenkettentyp im Format "JJJJ / MM / TT" registriert. Daher wurde "Java" verwendet, um den Datumstyp in den Zeichenkettentyp im Format "JJJJ / MM / TT" zu konvertieren. Verwenden Sie für die Konvertierung das SimpleDateFormat von Java. Durch die Definition des Jahresteils mit "JJJJ" wurde das Jahr als Basisjahr der Kalenderwoche </ b> behandelt, und der 29.12.2019 wurde auf den 29.12.2018 umgestellt und in der DB registriert.

Was ist das Basisjahr einer Kalenderwoche?

Was ist das Basisjahr einer Kalenderwoche? Die Idee ist, dass die Woche, zu der 1/1 gehört, als das nächste Jahr behandelt wird, selbst wenn es Dezember ist. Der Ausdruck ist schlecht und schwer zu verstehen. Entschuldigung.

In einem Kalender sieht es so aus sdf_001.png Der 29. bis 31. Dezember wird als 2020 behandelt, da die Woche mit dem gelben Hintergrund den Tag 2020 enthält. Das ist.

  • 28.12. Wird als 2019 behandelt.

Code

Der Code sah übrigens so aus.

henkan.java


//* Ausführungsdatum ist 2019/12/29
SimpleDateFormat sdf = new SimpleDAteFormat("YYYY/MM/dd");
Calender cal = Calender.getInstance();

String yyyymmdd = sdf.format(cal.getTime());    //2020 zu diesem Zeitpunkt/12/Es wird 29.

Um normal damit umzugehen, ändern Sie einfach "JJJJ" in "JJJJ".

Das war ein schrecklicher Fehler.

schließlich

Ich habe nach langer Zeit "Java" gemacht, also habe ich einen so schrecklichen Fehler gemacht. Bis dahin habe ich "Python" berührt, und in der Zeichenfolgenkonvertierung des Datums von "Python" wird "% Y" für das Jahr verwendet, daher denke ich, dass ich es verwirrt und das Großbuchstaben "Y" angegeben habe. Du solltest vorsichtig sein.

Bonus

Übrigens, wie für den obigen Code, können Sie das aktuelle Datum und die aktuelle Uhrzeit nur mit "Datum" abrufen. Es wird gesagt, dass es seine geringe Codierungsfähigkeit offenbart. : dizzy_face:

Recommended Posts

Wurde im Basisjahr der Java-Kalenderwoche durchgeführt
Holen Sie sich das Ergebnis von POST in Java
[Java] Ermittelt den Tag eines bestimmten Tages
Die Geschichte des Schreibens von Java in Emacs
Zeigen Sie den japanischen Kalender und Tag mit der Java8-Standardklasse an
Die Geschichte des einfachen String-Vergleichs in Java
[Java] Behandlung von Java Beans in der Methodenkette
Die Geschichte eines gewöhnlichen Othello in Java
Über die Idee anonymer Klassen in Java
Die Geschichte des Lernens von Java in der ersten Programmierung
Messen Sie die Größe eines Ordners mit Java
Spüren Sie den Lauf der Zeit auch in Java
Importieren Sie Dateien derselben Hierarchie in Java
[Java] Tag ab Datum berechnen (Kalenderklasse nicht verwenden)
Beurteilung des Kalenders
Rufen Sie die URL des HTTP-Umleitungsziels in Java ab
In Time.strptime ist% j (Gesamtdatum des Jahres)
[Java] Holen Sie sich die Datei unabhängig von der Umgebung in das JAR
Ändern Sie die Speicherqualität von JPEG-Bildern in Java
Fassen Sie die zusätzlichen Elemente der optionalen Klasse in Java 9 zusammen
Der Teil, dem ich in "Einführung in Ajax in Java-Webanwendungen" von NetBeans verfallen war
[Java] Anzeigen der von LocalDate und DateTimeformatter erfassten Tage auf Japanisch
Eine kurze Erklärung der fünf Arten von Java Static
Zählen Sie die Anzahl der Stellen nach dem Dezimalpunkt in Java
So leiten Sie den letzten Tag des Monats in Java ab
Java-Implementierung von Tri-Tree
Als ich mir Sorgen über statische Methoden in der Java-Oberfläche machte, kam ich zur Reihenfolge der Namensinterpretation
Untersuchen Sie die Systeminformationen der AWS Lambda-Betriebsumgebung in Java
[Java1.8 +] Mit LocalDate das Datum des nächsten × Tages abrufen
[Java] Ordnen Sie die Daten des vergangenen Montags und Sonntags der Reihe nach an
Meine Website wurde in einer Woche nach dem Eintritt in das Unternehmen geworfen
Geben Sie die Differenz zwischen jedem Feld zweier Objekte in Java aus
Untersuchen Sie die Liste der in AWS Lambda + Java verfügbaren Schriftarten
Die in /lib/calendars.properties von Java jre festgelegte Millisekunde ist UTC
Die Frühjahrsvalidierung war in der Reihenfolge von Form und BindingResult wichtig
Untersuchen Sie die Liste der Zeitzonen-IDs, die in der Java ZoneId-Klasse verfügbar sind
Rufen Sie die öffentliche URL der privaten Datei von Flickr in Java ab
Lassen Sie uns eine TODO-App in Java 5 erstellen. Schalten Sie die Anzeige von TODO um
So ermitteln Sie die Länge einer Audiodatei mit Java
So erhöhen Sie den Wert von Map in einer Zeile in Java
Greifen Sie mit Java auf die Netzwerkschnittstelle zu
[Java] Löschen Sie die Elemente von List
Errate den Zeichencode in Java
[Java Edition] Geschichte der Serialisierung
Geben Sie den Java-Speicherort in eclipse.ini an
Entpacken Sie die Zip-Datei in Java
Gemischte Ausgabe des westlichen Kalenders in Java
Liste der in Java 9 hinzugefügten Mitglieder
Analysieren der COTOHA-API-Syntaxanalyse in Java
Liste der in Java 9 hinzugefügten Typen
Reihenfolge der Verarbeitung im Programm
Der Ursprung von Java-Lambda-Ausdrücken
Implementierung einer ähnlichen Funktion in Java
Rufen Sie die Super-Methode in Java auf
Erhöhen Sie dynamisch die Anzahl der Elemente in einem zweidimensionalen Java-Array (mehrdimensionales Array).
Die Geschichte, zu vergessen, eine Datei in Java zu schließen und zu scheitern
Die Geschichte des Erwerbs von Java Silver in zwei Monaten von völlig unerfahrenen.
Was war keine faire Verwendung der Java-API-Umleitung unter Android?
Dies und das der Implementierung der zeitlichen Beurteilung von Daten in Java