[英]How to determine the date of Starting day of current and last week in python ?
[英]How to determine the first day of week in python
根据语言环境,我需要确定一周的第一天(星期日/星期一)是什么?在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()]);
我如何在python中做到这一点?
我只能弄清楚如何用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'
事实证明,以下内容不起作用,因为Nate足够友善地指出。 如果有人知道原因,请发布并回答正确的操作方法。 这应该在标准库中可行。
如果只需要一天的时间,则可以使用calendar.LocalTextCalendar
。
>>> import calendar
>>> c = calendar.LocaleTextCalendar(locale='de_DE') # locale=('en_US', 'UTF8') fails too.
>>> c.firstweekday
0
还有iterweekdays
方法。
>>> list(c.iterweekdays())
[0, 1, 2, 3, 4, 5, 6]
直到(包括)Python 3.1.2为止的python标准库似乎都缺少此功能。
一些线索:
由于有关此信息通常与系统l10n数据一起存储(在GNU世界中,可能是/usr/share/i18n/locales/
),所以我的第一个反应是使用诸如locale.nl_langinfo()
,但不幸的是在语言环境模块中没有类似locale.FIRST_WEEKDAY
东西:-(
除了aaronasterling提到Babel lib之外,我还找到了该示例的示例,该示例针对GNOME小程序中使用的命名问题。 同样值得注意的是随附的博客文章 。
看一下日历模块。 可能会派上用场!
现在,尤其是许多欧洲国家/地区的日历现在都按照ISO的决定,从星期一开始。 航空公司的时间表还将从星期一开始的天数定为1,将星期二定为2,将星期三定为3,以此类推。
上面指出,星期一应该始终是一周的第一天。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.