[PYTHON] Die Spezifikationen von Pytz haben sich geändert

Das Format der japanischen Zeitzone hat sich in der Pytz-Version 2017.2 geändert, die am 30.03.2017 veröffentlicht wurde (Fehler ??)

Die neueste Version (Version 2017.2) der von Stuart Bishop verwalteten Python-Zeitzonenbibliothek weist ein seltsames Verhalten auf, daher werde ich sie weitergeben. http://pythonhosted.org/pytz/#localized-times-and-date-arithmetic

Was hat sich verändert

bis jetzt

In [1]: import pytz

In [2]: pytz.__version__
Out[2]: '2016.10'

In [3]: pytz.timezone('Asia/Tokyo')
Out[3]: <DstTzInfo 'Asia/Tokyo' JST+9:00:00 STD>

neueste Version

In [1]: import pytz

In [2]: pytz.__version__
Out[2]: '2017.2'

In [3]: pytz.timezone('Asia/Tokyo')
Out[3]: <DstTzInfo 'Asia/Tokyo' LMT+9:19:00 STD>

Es besteht die Möglichkeit eines Fehlers, da ich keine Kommentare des Autors finden konnte.

Auswirkungen davon

Wenn Sie UTC-> JST durch Lesen aus der Datenbank konvertieren, kann dies aus diesem Grund um 19 Minuten deaktiviert sein. Es ist fehlerhaft, weil es einige Prozesse gibt, die sich nur verschieben und nicht verschieben. Die Verarbeitung, die sich verschiebt, und die Verarbeitung, die sich nicht verschiebt, sind nachstehend zusammengefasst.

Verarbeitung, für die JST wie zuvor gewährt wird

In [8]: tz = pytz.timezone('Asia/Tokyo')

In [10]: tz.localize(datetime.datetime.now())
Out[10]: datetime.datetime(2017, 4, 5, 9, 24, 56, 215625, tzinfo=<DstTzInfo 'Asia/Tokyo' JST+9:00:00 STD>)

In [11]: datetime.datetime.now(tz=pytz.utc).astimezone(tz)
Out[11]: datetime.datetime(2017, 4, 5, 18, 27, 33, 912014, tzinfo=<DstTzInfo 'Asia/Tokyo' JST+9:00:00 STD>)

Verarbeitung, bei der sich die Zeit um 19 Minuten LMT verschiebt, wie von tzinfo angezeigt

In [9]: datetime.datetime.now().replace(tzinfo=tz)
Out[9]: datetime.datetime(2017, 4, 5, 9, 24, 45, 694185, tzinfo=<DstTzInfo 'Asia/Tokyo' LMT+9:19:00 STD>)

Als ich es ausprobiert habe, ist JST in der zerstörungsfreien Verarbeitung wie tz.localize, datetime.astimezone (tz) ordnungsgemäß zugewiesen. Es ist bekannt, dass JST nicht funktioniert, wenn der Code verwendet wird, der die Zeitzone zwangsweise mit datetime.replace (tz) zuweist, und sich um 19 Minuten verschiebt.

Andere

Schließlich (Hauptthema)

  1. Diejenigen, die wissen, wie man die JST-Zeitzone wie zuvor erhält ――Bitte helfen Sie !! Ich würde mich freuen, wenn Sie mich in den Kommentaren wissen lassen könnten !!
  2. Auch wenn Sie datetime.replace (tzinfo = tz) verwenden, ohne dies zu wissen ――Es ist gefährlich, also bitte reparieren Sie es! Ihre Uhr ist um 19 Minuten aus !!
  3. (Da die Zeitzone kritisch ist, möchte ich, dass Sie sie in Python Official veröffentlichen, nicht in einer Bibliothek wie Pytz, die Sie individuell verwalten.)

Recommended Posts

Die Spezifikationen von Pytz haben sich geändert
Beachten Sie, dass sich die Spezifikationen von Pandas loc geändert haben.
Die Verwendung von TensorBoard hat sich geringfügig geändert
Der Beginn von cif2cell
Die Bedeutung des Selbst
der Zen von Python
Die Geschichte von sys.path.append ()
Ich habe die Ausgabespezifikationen von Bidirectional LSTM von PyTorch überprüft
Bitte beachten Sie, dass sich der neueste Link von ius geändert hat
Die Einstellung, die Programmierer haben sollten (The Zen of Python)
Rache der Typen: Rache der Typen
Lassen Sie das Gleichungsdiagramm der linearen Funktion in Python zeichnen
Richten Sie die Version von chromedriver_binary aus
Scraping das Ergebnis von "Schedule-Kun"
10. Zählen der Anzahl der Zeilen
Die Geschichte des Baus von Zabbix 4.4
Auf dem Weg zum Ruhestand von Python2
Vergleichen Sie die Schriftarten von Jupyter-Themen
Holen Sie sich die Anzahl der Ziffern
Erläutern Sie den Code von Tensorflow_in_ROS
Verwenden Sie die Clustering-Ergebnisse erneut
GoPiGo3 des alten Mannes
Berechnen Sie die Anzahl der Änderungen
Ändern Sie das Thema von Jupyter
Die Popularität von Programmiersprachen
Ändern Sie den Stil von matplotlib
Visualisieren Sie die Flugbahn von Hayabusa 2
Über die Komponenten von Luigi
Verknüpfte Komponenten des Diagramms
Filtern Sie die Ausgabe von tracemalloc
Über die Funktionen von Python
Simulation des Inhalts der Brieftasche
Die Kraft der Pandas: Python