我正在尝试创建一个名为to_timezone的函数,它将一个时区名称作为字符串,然后使用pytz的时区将'starter‘转换为那个时区……我希望它返回一个新的日期时间。
我希望它是以“Z”的形式出现的任何时区。我不想硬编码'pytz时区对象‘,我将如何实现这一点?
这是我的代码:
import datetime
import pytz
starter = pytz.utc.localize(datetime.datetime(2015, 10, 21, 23, 29))
def to_timezone(tz):
tz_utc = pytz.timezone('#pytz timezone object')
starter = tz_utc.astimezone
return starter发布于 2014-12-27 13:16:31
如果tz是tz数据库(如"America/New_York" )中的时区名称,则可以将其直接传递给pytz.timezone,并使用astimezone()、normalize()方法将可识别的datetime对象starter转换为tz时区:
def to_timezone(aware_dt, zonename):
tz = pytz.timezone(zonename)
return tz.normalize(aware_dt.astimezone(tz))示例:
starter = datetime.datetime(2015, 10, 21, 23, 29, tzinfo=pytz.utc)
print(to_timezone(starter, "America/Los_Angeles"))
# -> 2015-10-21 16:29:00-07:00发布于 2014-12-27 12:11:00
我不确定我是否正确地理解了你,但是你可以把tz的任何东西传递给pytz.timezone
def to_timezone(tz):
tz_utc = pytz.timezone(tz)例如,您可以调用to_timezone('Europe/London')。
https://stackoverflow.com/questions/27666805
复制相似问题