我使用的是python2.7。在
我有一个adobepdf表单文档,它有一个日期字段。我使用pdfminer函数提取值。我需要解决的问题是,adobeacrobatreader中的用户可以键入april 3rd 2017
或{4 3 2017
等字符串。现在,Adobe中的日期字段被设置为mm/dd/yyyy
格式,因此当用户输入上述值之一时,即pdfminer拉取的实际值,而Adobe将其显示为04/03/2017
,但当您单击该字段时,会显示与上述值类似的实际值。Adobe允许这样做,然后在转换时执行,我想将日期显示为mm/dd/yyyy
。在adobe中可以使用javascript来获得更多的控制,但是我不能这样做,用户只能拥有和使用没有任何附带javascript文件的pdf表单。在
所以我想在Python中找到一个带有datetime
的方法,它能够从一个字符串中接受上面的示例这样的书面日期,然后将它们转换成真正的mm/dd/yyyy
格式???我看到了转换长月份和短月份名称的方法,但是没有任何方法可以处理日期名称,比如1号、2号、3号、4号。在
只需编写一个正则表达式来从字符串中获取数字。在
其他的事情应该很简单。在
你可以依次尝试每种可能的格式。首先删除任何
st
nd
rd
说明符,使测试更容易:它将显示:
^{pr2}$这种方法的好处是验证每个日期。例如一个月大于12。您可以标记任何不符合所有允许格式的日期。在
基于@MartinEvans的anwser,但是使用^{} 库:(因为它处理的案例比datetime多,所以您不必使用})
replace()
或{第一次安装箭头:
然后尝试每种可能的格式:
^{pr2}$将输出:
如果您不确定日期格式中的错误,如果没有日期与格式匹配,也可以输出一条不错的错误消息:
将输出以下错误消息:
相关问题 更多 >
编程相关推荐