我试图以%d. %b. %Y
的形式解析德语日期。
使用相同的地区,我得到了不同的缩写März
(月三月)。
当我跑步时:
locale.setlocale(locale.LC_ALL, 'de_DE')
loc = locale.getlocale()
print("changed locale " + str(loc))
print(datetime(2020, 3, 19).strftime("%b"))
在Windows 10上,Python 3.7.2
打印:
改变地区('de_DE',‘Mrz 8859-1’)Mrz
但是,云函数(也是python 3.7
)打印
变更的地区('de_DE',‘ISO8859 8859-1’)M r
为什么März
曾经被缩写为Mär
,而在另一台机器上却是Mrz
,如何解决呢?是否有其他地区可供使用?
发布于 2020-03-18 16:08:38
我在Python-Forum.de上找到了一个解决办法。
这样做的目的是创建一个自定义解析器,这个解析器对我的情况非常有效:
class GermanParserInfo(parser.parserinfo):
MONTHS = [
('Jan', 'Januar'),
('Feb', 'Februar'),
('Mär', 'Mrz', 'März'),
('Apr', 'April'),
('Mai',),
('Jun', 'Juni'),
('Jul', 'Juli'),
('Aug', 'August'),
('Sep', 'Sept', 'September'),
('Okt', 'Oktober'),
('Nov', 'November'),
('Dez', 'Dezember'),
]
date = parser.parse(input, GermanParserInfo())
https://stackoverflow.com/questions/60748784
复制