Python получает начало недели в соответствии с часовым поясом / языковым стандартом
Я хочу знать, какое начало недели, но это должно быть в соответствии с конкретным часовым поясом или локалью.
Я могу получить дату и время начала дня, как это
now = datetime.now()
weekday = now.weekday() # 0 if it is Monday
start_of_week = now.replace(day=now.day-weekday)
Но если я нахожусь в стране, где начало недели - воскресенье (например, часовой пояс "Asia/Tel_Aviv"), это не сработает.
Есть ли способ получить начало недели в зависимости от часового пояса или локали с помощью pytz или любой другой библиотеки?
1 ответ
Не то, чтобы я в курсе.
Эта информация отсутствует в базе данных pytz. Он будет доступен в базе данных локалей, но в вашей системе, вероятно, не установлены все возможные локали (в системах linux -a показывает, что там). Теоретически вы можете установить их все и создать конвертер между часовым поясом и локалью, и проверить его оттуда.
Слишком сложный на мой вкус.
Я бы просто сделал это вручную. В мире только так много стран, и большинство из них используют понедельник в качестве первого дня недели. Просто создайте словарь, содержащий около 200 записей, вы можете импортировать данные, например, отсюда: http://chartsbin.com/view/41671
Ханну