我们正在使用 DateTimeV2 法语模块。承认不符合预期。
我们在以下情况中遇到麻烦:
对于query = 13/02/2018
,已识别的值为13th Feb 2018
,但如果指定的日期少于12,例如09/02/2018
,则确认的值为2018年9月2日。这些结果与此相矛盾由于相同,我们无法进一步处理它们。
如果我在这里遗漏了一些东西,或者是否有这方面的事情,请告诉我。
答案 0 :(得分:2)
你没有错过任何东西,法语识别器中有一个错误,我们已经经历过同样的事情。
事实上,问题似乎是识别器使用的检测模板的顺序:在法语中,日期写在"日 - 月 - 年"格式而不是"月 - 日 - 年"。
但是,如果你看一下DateTimeDefinitions
的法语here:
public static readonly string DateExtractor4 = $@"\b{MonthNumRegex}\s*[/\\\-]\s*{DayRegex}\s*[/\\\-]\s*{DateYearRegex}";
public static readonly string DateExtractor5 = $@"\b{DayRegex}\s*[/\\\-]\s*{MonthNumRegex}\s*[/\\\-]\s*{DateYearRegex}";
以及它们的使用方式here,问题是您的日期将首先适合DateExtractor4并使用结果,而它是DateExtractor5格式的值。