编程语言
首页 > 编程语言> > python – pytz:获取所有时区,现在具体时间

python – pytz:获取所有时区,现在具体时间

作者:互联网

在DB中我有表(User),它为该用户存储时区(作为字符串值,例如:“Europe / Oslo”).
现在,我需要获得所有用户,现在当地时间为例如:上午9点.

有没有什么好方法可以做到这一点,没有对所有用户进行循环?如果pytz能够返回时区列表,那么现在时间是9AM,我可以使用简单的IN SQL语句.

解决方法:

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

标签:python,timezone,pytz
来源: https://codeday.me/bug/20190716/1480771.html