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) #轉成世界協調時間

這個網誌中的熱門文章

如何使用python校時

重點整理:Python金融交易-證卷