pytz:获取所有时区,其中现在是特定时间

4
在数据库中,我有一张名为“User”的表,其中存储了该用户的时区(作为字符串值,例如:“Europe/Oslo”)。 现在,我需要获取所有本地时间为上午9点的用户。
是否有不用遍历所有用户就能完成的好方法?如果pytz能够返回当前时间为上午9点的时区列表,我可以使用简单的IN SQL语句。
1个回答

14
import datetime
import pytz

now = datetime.now(pytz.utc)
# datetime.datetime(2012, 6, 8, 10, 31, 58, 493905, tzinfo=<UTC>)

[tz for tz in pytz.common_timezones_set if now.astimezone(pytz.timezone(tz)).hour == 9]
# ['Atlantic/Cape_Verde']

[tz for tz in pytz.common_timezones_set if now.astimezone(pytz.timezone(tz)).hour == 12]
# returns a list of 45 timezones, 'Europe/Oslo' included

1
太棒了!正是我想要的。 - aqs

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