J'ai une application java
que j'ai développée.
Il existe une fonction pour y enregistrer des éléments et la date d'enregistrement est également enregistrée dans la base de données.
Je me suis inscrit le 29 décembre 2019, mais lorsque j'ai regardé les données enregistrées dans la DB, la date d'enregistrement était le 29 décembre 2020.
Je me suis demandé pourquoi et j'ai enquêté sur la cause, donc je vais la résumer ici pour rappel.
Par conséquent, la date enregistrée est enregistrée comme type de chaîne de caractères au format «aaaa / MM / jj».
Par conséquent, «Java» a été utilisé pour convertir le type de date en type de chaîne de caractères au format «aaaa / MM / jj».
Utilisez le SimpleDateFormat de Java
pour la conversion. En définissant la partie année avec «AAAA», l'année a été traitée comme année de base de la semaine civile </ b>, et le 29/12/2019 a été converti en 29/12/2020 et enregistré dans le DB.
Quelle est l'année de base d'une semaine civile L'idée est que la semaine à laquelle appartient 1/1 est considérée comme l'année suivante même si c'est décembre. L'expression est pauvre et difficile à comprendre. Excusez-moi.
Cela ressemble à ceci sur un calendrier Les 29 et 31 décembre sont considérés comme 2020 car la semaine sur fond jaune comprend le jour 2020. C'est.
Au fait, le code ressemblait à ceci.
henkan.java
//* La date d'exécution est 2019/12/29
SimpleDateFormat sdf = new SimpleDAteFormat("YYYY/MM/dd");
Calender cal = Calender.getInstance();
String yyyymmdd = sdf.format(cal.getTime()); //2020 à ce moment/12/Cela devient 29.
Pour le gérer normalement, remplacez simplement «YYYY» par «yyyy».
C'était une terrible erreur.
J'ai fait java
après un long moment, donc j'ai fait une terrible erreur.
Jusque-là, je touchais à «python», et dans la conversion de la chaîne de caractères de la date de «python», «% Y» est utilisé pour l'année, donc je pense que je l'ai confondu et spécifié le «Y» majuscule.
Vous devez être prudent.
En passant, comme pour le code ci-dessus, vous ne pouvez obtenir la date et l'heure actuelles qu'avec Date
.
On dit qu'il révèle sa faible capacité de codage. : dizzy_face:
Recommended Posts