将一个tzinfo插入到datetime中

14
我有以下的 tzinfo 具体子类定义:
from datetime import datetime, timedelta, tzinfo

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

  def tzname(self, dt):
    return "Manila"

我获取了一个日期字符串,希望将它转换为具有时区意识的datetime对象。 我希望使用以下方法:

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

我是否可以按照以下方式将tzinfo插入到datetime对象中?

manila = ManilaTime()
date = transform_date('2001-01-01', manila)
1个回答

19
def transform_date(date_string, tzinfo):
    fmt = '%Y-%m-%d'
    date = datetime.strptime(date_string, fmt).replace(tzinfo=tzinfo)
    return date

1
FWIW,不要与pytz对象一起使用:https://dev59.com/EWAf5IYBdhLWcg3wQQy4#25390097/,https://dev59.com/y18d5IYBdhLWcg3w8F--#26266741/。 - arturomp

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接