我希望检索字符串中包含的工作日的下一个可能日期。复杂性是这个工作日将使用外语(sv_SE)。
在bash中,我可以使用`dateround'来解决这个问题:
startdate=$(dateround --from-locale=sv_SE -z CET today $startday)
非常感谢您在如何使用Python解决此问题的指导。
非常感谢!
答案 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_date
,format_datetime
,format_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'
>>>