Python:平日(外语)工作日的日期

时间:2017-10-31 13:59:22

标签: python date weekday

我希望检索字符串中包含的工作日的下一个可能日期。复杂性是这个工作日将使用外语(sv_SE)。

在bash中,我可以使用`dateround'来解决这个问题:

startdate=$(dateround --from-locale=sv_SE -z CET today $startday)

非常感谢您在如何使用Python解决此问题的指导。

非常感谢!

2 个答案:

答案 0 :(得分:1)

Dateparser支持相当多的languages。您可以将工作日解析为日期时间对象,然后确定下一个可用的可用日期。

- 编辑 -

 from dateparser import parse

 parse('Onsdag').isoweekday()  # 3

现在你有了工作日,你可以找到下一个可能的日期。您可以参考this了解具体方法。

答案 1 :(得分:0)

似乎locale别名是特定于平台且区分大小写的。我有窗户。所以语言环境为sv_SE

您可以使用babel进行日期/时间转换,并且比原始locale模块更全面。

  

Babel是一个集成的实用程序集合,有助于Python应用程序的国际化和本地化,重点是基于Web的应用程序。

可以安装为:
pip install Babel

安装完成后,我们可以使用format_dateformat_datetimeformat_time实用程序格式化一种语言日期,将时间格式化为其他日期。

您可以使用这些实用程序在英语和瑞典语之间转换日期/时间数据。

>>>import datetime
>>>from babel.dates import format_date, format_datetime, format_time

#Here we get current date time in an datetime object
>>> now = datetime.datetime.now()
>>> now
datetime.datetime(2017, 10, 31, 9, 46, 32, 650000)

#We format datetime object to english using babel
>>> format_date(now, locale='en')
u'Oct 31, 2017'

#We format datetime object to sweedish using babel
>>> format_date(now, locale='sv_SE')
u'31 okt. 2017'
>>>