$ python --version
Python 2.7.12
Als ich versuchte, die Zeit der von Trellos API erhaltenen Karte mit der aktuellen Zeit zu vergleichen, bekam ich eine Fehlermeldung, als ich den folgenden Code schrieb und süchtig danach war.
def show_cards_(cards):
for c in cards:
print("---------------")
print("card id : {id}".format(id=c.id))
print("card name : {name}".format(name=c.name))
if c.due is not None:
due = c.due_date
now = dt.now()
print("Es ist vorbei" if now > due else "Immer noch okay")
Als ich diesen Code ausführte, wurde folgende Fehlermeldung angezeigt:
TypeError: can't compare offset-naive and offset-aware datetimes
Es scheint, dass fällig und jetzt nicht verglichen werden können, da sie für Offset-native bzw. Offset-fähig unterschiedlich sind.
Bei genauerer Betrachtung des Inhalts sah es so aus.
2017-01-03 10:00:00+00:00 #fällig: offset-aware
2017-01-03 22:40:14.709333 #jetzt: offset-native
Es war die Offset-bewusste UTC-Zeit, zu der Trello zurückkehrte.
In Python scheint es, dass es nach beiden verglichen wird.
Mischen Sie nicht "Offset-native" und "Offset-bewusst".
Bis jetzt war mir das überhaupt egal, aber es scheint, dass pytz
und python-dateutil
sich in solchen Zeiten um mich kümmern werden.
>>> from datetime import datetime as dt
>>> print(dt.now())
2017-01-03 22:45:07.334307+09:00
In den meisten Fällen ist dies in Ordnung
>>> from datetime import datetime as dt
>>> import dateutil.tz
>>> print(dt.now(dateutil.tz.tzlocal()))
2017-01-03 22:47:27.712684+09:00
Sie können die Zeitzone auf "Asien / Tokio" festlegen, aber Die lokale Zeitzone des Systems sah cool aus, also habe ich es versucht.
>>> from datetime import datetime as dt
>>> import pytz
>>> now_utc = dt.now(pytz.utc)
>>> print(now_utc)
2017-01-03 14:07:54.861061+00:00
Wenn Sie die Zeitzone als Variable an das übliche dt.now ()
übergeben, sieht es nach ok aus.
↓ Und
UTC → JST
>>> print(dt.now(pytz.utc).astimezone(pytz.timezone("Asia/Tokyo")))
2017-01-03 23:05:53.765549+09:00
Zuhause! Zuhause! Polkadot Stingray und DAOKO sind die besten!
Recommended Posts