【发布时间】:2022-01-09 05:05:06
【问题描述】:
我正在尝试获取在设定的当地时间范围内的时区列表。例如。上午 9 点到下午 2 点之间。
从this 问题开始,可以获取特定时间的时区,例如上午 9 点,但我想要一个范围。
没有像下面这样每隔一小时做一次,有没有更好的方法来完成这个?
from datetime import datetime
import pytz
now = datetime.now(pytz.utc)
[tz for tz in pytz.common_timezones_set if now.astimezone(pytz.timezone(tz)).hour == 9]
[tz for tz in pytz.common_timezones_set if now.astimezone(pytz.timezone(tz)).hour == 10]
[tz for tz in pytz.common_timezones_set if now.astimezone(pytz.timezone(tz)).hour == 11]
...
【问题讨论】:
-
你能用不等式吗?例如
(now.astimezone(pytz.timezone(tz)).hour >= 9) and (now.astimezone(pytz.timezone(tz)).hour <= 11)?
标签: python timezone list-comprehension python-datetime pytz