A été effectué dans l'année de base de la semaine calendaire Java

Déclencheur

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.

résultat

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?

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 sdf_001.png Les 29 et 31 décembre sont considérés comme 2020 car la semaine sur fond jaune comprend le jour 2020. C'est.

  • Le 28/12 est considéré comme 2019.

code

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.

à la fin

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.

prime

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

A été effectué dans l'année de base de la semaine calendaire Java
Obtenez le résultat de POST en Java
[Java] Obtenez le jour d'un jour spécifique
L'histoire de l'écriture de Java dans Emacs
Afficher le calendrier et le jour japonais en utilisant la classe standard java8
L'histoire de la comparaison de chaînes de bas niveau en Java
[Java] Gestion des Java Beans dans la chaîne de méthodes
L'histoire de la fabrication d'un Othello ordinaire à Java
À propos de l'idée des classes anonymes en Java
L'histoire de l'apprentissage de Java dans la première programmation
Mesurer la taille d'un dossier avec Java
Ressentez le passage du temps même à Java
Importer des fichiers de la même hiérarchie en Java
[Java] Calculer le jour à partir de la date (ne pas utiliser la classe Calendar)
Jugement du calendrier
Obtenez l'URL de la destination de la redirection HTTP en Java
Dans Time.strptime,% j (date totale de l'année) est
[Java] Récupère le fichier dans le fichier jar quel que soit l'environnement
Modifier la qualité de stockage des images JPEG en Java
Récapitulez les éléments supplémentaires de la classe Optional dans Java 9
La partie à laquelle j'étais accro dans "Introduction à Ajax dans les applications Web Java" de NetBeans
[Java] Comment afficher les jours acquis par LocalDate et DateTimeformatter en japonais
Une explication rapide des cinq types de statique Java
Comptez le nombre de chiffres après la virgule décimale en Java
Comment dériver le dernier jour du mois en Java
Implémentation Java de tri-tree
Quand j'étais inquiet des méthodes statiques dans l'interface java, je suis arrivé à l'ordre d'interprétation des noms
Examiner les informations système de l'environnement d'exploitation AWS Lambda en Java
[Java1.8 +] Obtenez la date du jour × suivant avec LocalDate
[Java] Obtenez les dates des derniers lundi et dimanche dans l'ordre
Mon site a été lancé une semaine après avoir rejoint l'entreprise
Sortie de la différence entre chaque champ de deux objets en Java
Examiner la liste des polices disponibles dans AWS Lambda + Java
La milliseconde définie dans /lib/calendars.properties de Java jre est UTC
La validation de printemps était importante dans l'ordre de Form et BindingResult
Examinez la liste des ID de fuseau horaire disponibles dans la classe Java ZoneId
Obtenez l'URL publique du fichier privé de Flickr en Java
Créons une application TODO en Java 5 Changer l'affichage de TODO
Comment obtenir la longueur d'un fichier audio avec Java
Comment incrémenter la valeur de Map sur une ligne en Java
Accéder à l'interface réseau avec Java
[Java] Supprimer les éléments de la liste
Devinez le code de caractère en Java
[Édition Java] Histoire de la sérialisation
Spécifiez l'emplacement Java dans eclipse.ini
Décompressez le fichier zip en Java
Sortie mixte du calendrier occidental en Java
Liste des membres ajoutés dans Java 9
Analyser l'analyse syntaxique de l'API COTOHA en Java
Liste des types ajoutés dans Java 9
Ordre de traitement dans le programme
L'origine des expressions Java lambda
Implémentation d'une fonction similaire en Java
Appelez la super méthode en Java
Augmenter dynamiquement le nombre d'éléments dans un tableau bidimensionnel Java (tableau multidimensionnel)
L'histoire de l'oubli de fermer un fichier en Java et de l'échec
L'histoire de l'acquisition de Java Silver en deux mois de totalement inexpérimenté.
Qu'est-ce qui n'était pas une utilisation équitable du détournement d'API Java sur Android?
Ceci et cela de la mise en œuvre du jugement en temps réel des dates en Java