从python

时间:2015-09-11 00:11:32

标签: python regex datetime

我正试图从字符串中删除时间戳,例如'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.不能依赖于除日期时间之外的库,因为我将把它作为错误修复推送到生产中。

1 个答案:

答案 0 :(得分:1)

$object_1

dateutil库可以很好地将任何字符串转换为日期,而且几乎总是正确...

不使用它你当然可以做像

这样的事情
$ pip install python-dateutil


...
>>> from dateutil.parser import parse
>>> print parse(my_date_string)