将tzinfo插入datetime

Kit*_*Kit 11 python timezone datetime tzinfo

我有以下tzinfo具体的子类定义:

from datetime import datetime, timedelta, tzinfo

class ManilaTime(tzinfo):
  def utcoffset(self, dt):
    return timedelta(hours=8)

  def tzname(self, dt):
    return "Manila"
Run Code Online (Sandbox Code Playgroud)

我获取了一个日期字符串,并希望将其转换为时区感知datetime对象.我更喜欢使用以下方法:

def transform_date(date_string, tzinfo):
  fmt = '%Y-%m-%d'
  # Where do I insert tzinfo?
  date = datetime.strptime(date_string, fmt)
  return date
Run Code Online (Sandbox Code Playgroud)

有什么方法可以通过以下方式插入tzinfodatetime对象中?

manila = ManilaTime()
date = transform_date('2001-01-01', manila)
Run Code Online (Sandbox Code Playgroud)

agf*_*agf 18

def transform_date(date_string, tzinfo):
    fmt = '%Y-%m-%d'
    date = datetime.strptime(date_string, fmt).replace(tzinfo=tzinfo)
    return date
Run Code Online (Sandbox Code Playgroud)