如何在python中确定一周的第一天

Eya*_*yal 1 python calendar date

基于区域设置,我需要找到一周中的第一天(星期日/星期一)在JAVA中,我会这样做:

Calendar FR_cal = Calendar.getInstance(Locale.FRANCE);
Calendar CA_cal = Calendar.getInstance(Locale.CANADA);

DateFormatSymbols dfs = new DateFormatSymbols();
String weekdays[] = dfs.getWeekdays();

System.out.println(weekdays[JO_cal.getFirstDayOfWeek()]);
System.out.println(weekdays[FR_cal.getFirstDayOfWeek()]);
Run Code Online (Sandbox Code Playgroud)

我怎么能在python中做到这一点?

aar*_*ing 6

我只能弄清楚如何使用Babel库来做到这一点.它可以通过easy_install.

>>> import babel
>>> locale = babel.Locale('en', 'US')
>>> locale.first_week_day
6
>>> locale.days['format']['wide'][locale.first_week_day]
u'Sunday'
Run Code Online (Sandbox Code Playgroud)

事实证明,以下不起作用,因为Nate很友好地指出.如果有人知道原因,请发布并回答如何正确操作.这应该适用于标准库.

如果您只想要一天的数量,那么您可以使用calendar.LocalTextCalendar.

>>> import calendar
>>> c = calendar.LocaleTextCalendar(locale='de_DE') # locale=('en_US', 'UTF8') fails too.
>>> c.firstweekday
0
Run Code Online (Sandbox Code Playgroud)

还有iterweekdays方法.

>>> list(c.iterweekdays())
[0, 1, 2, 3, 4, 5, 6]
Run Code Online (Sandbox Code Playgroud)

  • 日历模块的文档仅表示区域设置日历将提供本地名称:您必须自己设置一周的第一天.技术上没有破坏,而是误导. (3认同)