Python 根据 Timezone/Locale 获取周初

Python get Start of Week According to Timezone/Locale

我想知道一周的开始时间,但应该根据特定时区或区域设置。

我可以像这样检索一天开始的日期时间

now = datetime.now()
weekday = now.weekday()   # 0 if it is Monday
start_of_week = now.replace(day=now.day-weekday)

但是如果我所在的国家/地区一周的开始时间是星期天(例如时区 'Asia/Tel_Aviv'),这将不起作用。

有没有办法通过 pytz 或任何其他库根据时区或区域设置获取一周的开始?

我不知道。

此信息不在 pytz 数据库中。它在区域设置数据库中可用,但您的系统可能没有安装所有可能的区域设置(在 linux 系统上 locale -a 显示其中的内容)。从理论上讲,您可以将它们全部安装并在时区和语言环境之间构建一个转换器,然后从那里进行检查。

对我来说太复杂了。

我会手动执行此操作。世界上只有这么多国家,而且大多数国家都把星期一作为一周的第一天。只需构建一个包含大约 200 个条目的字典,您可以从此处导入数据,例如:http://chartsbin.com/view/41671

汉奴