我需要做什麼
我有一個不知道時區的日期時間對象,我需要在其中添加一個時區以便能夠與其他時區進行比較時區感知的日期時間對象。我不想將我的整個應用程序轉換為不知道這個遺留案例的時區。
我嘗試了什麼
首先,演示問題:
Python 2.6.1 (r261:67515, Jun 24 2010, 21:47:49) [GCC 4.2.1 (Apple Inc. build 5646)] on darwin , “copyright”, “credits” 或 “license” 以獲取更多信息。>>> import datetime >>> import pytz >>> unaware = datetime.datetime(2011,8 ,15,8,15,12,0) >>> 不知道 datetime.datetime(2011, 8, 15, 8, 15, 12) >>> 知道 = datetime.datetime(2011,8, 15,8,15,12,0,pytz.UTC)>>> 知道 datetime.datetime(2011, 8, 15, 8, 15, 12, tzinfo=<UTC>)>>>知道 == 不知道 Traceback(最近一次調用最後一次):文件“<stdin>”,第 1 行,在 <module>TypeError:can"t compare offset-naive 和 offset-aware datetimes
首先,我嘗試了 astimezone:
>>> unaware.astimezone(pytz.UTC) Traceback(最近一次調用最後一次):文件“<stdin>”,第 1 行,在 <module> ValueError: astimezone() 不能應用於天真的日期時間>>>