Python中datetime的時區運算
功能
需使用datetime、pytz套件,在讀取資料庫或檔案中的時間字符串時會需要用到,此篇介紹如何解析日期時間的字符串成datetime物件,以及將datetime物件轉成日期時間的字符串。
語法
時區的轉換很簡單,為以下三個步驟
- 列出所有可用的時區(作為參考的資料)
pytz.all_timezones
- 在日期時間物件(datetime)中帶入時區
datetime物件.replace(tzinfo=轉換前的時區) # 至於時區的列表可由以上方法取得。
- 時區轉換
datetime物件.astimezone(欲轉換後的時區) # 此時的datetime物件已經包含時區的參數
範例
- 列出所有可用的時區(作為參考的資料)
>>> import pytz
>>> pytz.all_timezones
'America/Managua',
'America/Manaus',
'America/Marigot',
'America/Martinique',
...
- 在日期時間物件(datetime)中帶入時區,與時區轉換
>>> import datetime
>>> import pytz
>>> # 獲取各地時區
>>> tz_utc = pytz.timezone("UTC") # 世界協調時間
>>> tz_jpn = pytz.timezone("Japan") # 日本時區
>>> tz = pytz.timezone('Asia/Taipei') # 台灣時區
>>> # 日期時間物件帶入時區參數
>>> today = datetime.datetime.now().replace(tzinfo=tz) #日期時間加上當地時區
>>> # 時區轉換
>>> UTC_today = today.astimezone(tz_utc) #轉成世界協調時間
>>> JPN_today = today.astimezone(tz_jpn) #轉成世界協調時間