我正试图从字符串中删除时间戳,例如'9/10/20151:03 PM' 请注意,日期和时间之间故意没有空格 这是代码:
datetime.strptime(date, "%m/%d/%Y%I:%M %p")
然而,我可能会得到像'9/10/2015 1:03 PM'那样糟糕的字符串(日期和时间之间有空格)。我正在考虑为传入的字符串grep一个模式,并决定在我的strptime方法中使用哪个模式。
我的问题是,有更好的方法吗?我查看了strptime方法的文档,它不支持多种模式。我能想到的另一种方式是跟随(但它不支持两种以上的模式)
try:
time = datetime.strptime(date, "%m/%d/%Y%I:%M %p")
except Exception as e:
time = datetime.strptime(date, "%m/%d/%Y %I:%M %p")
约束: 1.不能依赖于除日期时间之外的库,因为我将把它作为错误修复推送到生产中。
答案 0 :(得分:1)
$object_1
dateutil库可以很好地将任何字符串转换为日期,而且几乎总是正确...
不使用它你当然可以做像
这样的事情$ pip install python-dateutil
...
>>> from dateutil.parser import parse
>>> print parse(my_date_string)