请问如何在Python中解析法式日期?如果这个问题已经有了答案,请原谅我没有找到。
这是我尝试使用dateutil
解析器的代码:
import locale
from dateutil.parser import parse as parse_dt
locale.setlocale(locale.LC_TIME, 'fr_FR.UTF-8') ## first I set locale
## locale.LC_TIME, 'fr_FR.UTF-8')
parse_dt('3 juillet',fuzzy= True) ## don't work give the default month
## Out[29]: datetime.datetime(2014, 10, 3, 0, 0)
parse_dt(u'4 Août ',fuzzy= True) ## same thing using another month
编辑:添加一些上下文:
我正在解析日期,但事先不知道字符串的格式。我的想法是在运行时解析许多日期:
parse_dt(u'Aujourd''hui ',fuzzy= True)
parse_dt(u'Hier',fuzzy= True)
使用其他库进行编辑:
通过使用parsedatetime库和一些正则表达式将法语单词翻译成英语,我可以得到以下结果:
import parsedatetime
import re
cal = parsedatetime.Calendar()
cal.parse(re.sub('juil.*' ,'jul' ,'20 juillet'))
((2015, 7, 20, 10, 25, 47, 4, 283, 1), 1)
也许我应该将其推广到所有法国月份吗?
datetime.strptime(date_string, '%d %B')
吗? - jfsdateutil
源代码,发现dateutil
似乎不支持基于区域设置的日期解析。 - Jean Hominalparsedatetime
源代码:如果你定义类似于pdtLocale_de
的pdtLocale_fr
类,它应该能够解析“今天”、“昨天”的法语。我尝试基于pdtLocale_icu
定义它失败了,但如果你定义完整的区域设置而不是icu,它可能会起作用。 - jfs