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.
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? 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 Der 29. bis 31. Dezember wird als 2020 behandelt, da die Woche mit dem gelben Hintergrund den Tag 2020 enthält. Das ist.
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.
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.
Ü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