首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用PYTZ的时区创建函数

用PYTZ的时区创建函数
EN

Stack Overflow用户
提问于 2014-12-27 11:31:32
回答 2查看 242关注 0票数 0

我正在尝试创建一个名为to_timezone的函数,它将一个时区名称作为字符串,然后使用pytz的时区将'starter‘转换为那个时区……我希望它返回一个新的日期时间。

我希望它是以“Z”的形式出现的任何时区。我不想硬编码'pytz时区对象‘,我将如何实现这一点?

这是我的代码:

代码语言:javascript
复制
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
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-12-27 13:16:31

如果tz是tz数据库(如"America/New_York" )中的时区名称,则可以将其直接传递给pytz.timezone,并使用astimezone()normalize()方法将可识别的datetime对象starter转换为tz时区:

代码语言:javascript
复制
def to_timezone(aware_dt, zonename):
    tz = pytz.timezone(zonename)
    return tz.normalize(aware_dt.astimezone(tz))

示例:

代码语言:javascript
复制
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
票数 0
EN

Stack Overflow用户

发布于 2014-12-27 12:11:00

我不确定我是否正确地理解了你,但是你可以把tz的任何东西传递给pytz.timezone

代码语言:javascript
复制
def to_timezone(tz):
    tz_utc = pytz.timezone(tz)

例如,您可以调用to_timezone('Europe/London')

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27666805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档