teh*_*ckz 5 python python-dateutil
dateutil.parser
用于解析给定的字符串并将其转换为datetime.datetime
对象.它通过允许dayfirst
和yearfirst
参数给出某种格式的先例来处理模糊日期,如"2-5-2013" .
如果遇到模糊日期,解析器是否可能引发错误?我想这将需要修改源代码(parser.py左右线)675/693/696,但如果有不需要逐字修改源代码,而不是仅仅涉及重新定义某些功能的方式,那简直太好了同样.
目前的行为:
>>> from dateutil import parser
>>> parser.parse("02-03-2013")
datetime.datetime(2013, 2, 3, 0, 0)
Run Code Online (Sandbox Code Playgroud)
期望的行为:
>>> from dateutil import parser
>>> parser.parse("02-03-2013")
Traceback (most recent call last):
..
ValueError: The date was ambiguous...<some text>
Run Code Online (Sandbox Code Playgroud)
执行此操作的最佳方法可能是编写一个方法来检查3个不同的模糊情况的相等性:
from dateutil import parser
def parse(string, agnostic=True, **kwargs):
if agnostic or parser.parse(string, **kwargs) == parser.parse(string, yearfirst=True, **kwargs) == parser.parse(string, dayfirst=True, **kwargs):
return parser.parse(string, **kwargs)
else:
raise ValueError("The date was ambiguous: %s" % string)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1136 次 |
最近记录: |