[JAVA] À propos de l'heure d'été réelle

Joyeux Noël. Puisqu'il vaut mieux avoir de nombreux cas d'ennuis, je voudrais partager le phénomène selon lequel "cela s'est produit dans une enquête interne!".

Contenu de la demande

Dans notre système, si vous enregistrez des données de base sur une personne, les informations nécessaires à la création de données pour le système comptable et le système fiscal seront automatiquement liées sans aucune nouvelle saisie. À un moment donné, j'ai reçu une demande selon laquelle «les données enregistrées dans le maître et les données liées aux données fiscales seront désactivées d'un jour». Quand je l'ai enquêté avec l'idée que "c'est juste lié, mais ça ne change pas", il s'est avéré que le phénomène ne s'est produit qu'une année précise ... A partir de là, "ça? Continuera à l'être.

Quel jour est-ce arrivé?

La date d'enregistrement du capitaine qui s'est renseigné C'était le 11 mai 1951. Si seulement ces données sont liées, ce sera le 10 mai 1951. Cependant, si vous créez les données pour le 1er décembre 1951, elles seront correctement liées telles quelles. Que s'est-il passé ce jour-là? Quand je l'ai recherché ...

L'heure d'été qui était aussi au Japon

La cause était en été.

L'heure d'été (heure d'été) consiste à décaler l'heure de l'horloge d'une heure pendant une période spécifique et à vivre en fonction de cela. Par exemple, une personne qui va travailler à 9 heures du matin et qui revient à 18 heures ira effectivement travailler à 10 heures et reviendra à 19 heures. Ensuite, lorsque l'heure d'été est terminée, réglez les aiguilles de l'horloge en arrière d'une heure.

Il semble que la politique consiste à utiliser efficacement le temps clair, mais c'était un problème.

Conversion de temps

Lors du traitement des informations de date en Java, notre système les a acquises par date + heure. À partir de la base de données enregistrée le 11 mai 1951 en question, convertir au calendrier occidental, 1951-5-11 00:00 (heure du Japon) Et des données chronométrées sont générées.

En Java, c'est pendant l'heure d'été, il est donc retardé en interne d'une heure. Puis, quand tu l'as 1951-5-10 23:00 (heure du Japon) Cela signifie que si vous n'utilisez que la date pour l'affichage, vous reviendrez un jour en arrière.

Je ne l'ai pas remarqué ...

Période d'heure d'été

Information ici http://d.hatena.ne.jp/nowokay/20130917 Il y a aussi des détails sur cette page, alors veuillez vous y référer si vous voulez en savoir plus en détail.

À propos, la période correspondant à l'heure d'été au Japon est la suivante. 3 mai (lundi) - 11 septembre (samedi), 1948 4 avril (lundi) - 10 septembre (samedi) 1945 8 mai (lundi) - 9 septembre (samedi), 1950 7 mai (lundi) - 8 septembre (samedi), 1951

Diverses mesures ont également été mises en œuvre dans le passé au Japon ... J'ai appris ce sujet, y compris le contexte.

Recommended Posts

À propos de l'heure d'été réelle
Problème d'été aussi au Japon
Une histoire sur la création d'un Builder qui hérite du Builder
À propos de la méthode
À propos du paquet
Il est temps d'affronter le monstre (JavaScript) entre parenthèses
À propos du problème que hidden_field peut être utilisé de manière insensée