Python:摆脱日期中存在的垃圾字符串

时间:2014-01-22 05:35:20

标签: python-2.7

我有一个文件,在文件的每一行我都有一个日期。日期的格式如下。

Dec 15, 2013 6:50:52 PM CST

我想以python格式转换日期。

例如:

2013-12-15 6:50:52 

我面临的问题是如何删除附加到日期的垃圾桶,即(CST)

我采用以下方法转换日期

date_capture=datetime.datetime.strptime('Dec 11, 2013 11:55:00 AM','%b %d, %Y %H:%M:%S %p')

但是我仍然无法从日期中删除垃圾字符串CST。

我们将不胜感激。

2 个答案:

答案 0 :(得分:2)

您可以使用split()join()方法:

s = "Dec 15, 2013 6:50:52 PM CST"

new_s = " ".join(s.split()[:-1])

print new_s

<强>输出:

Dec 15, 2013 6:50:52 PM

然后,您可以转换日期:

date_capture = datetime.datetime.strptime(new_s, '%b %d, %Y %H:%M:%S %p')

您也可以直接执行此操作:

date_capture = datetime.datetime.strptime(" ".join(s.split()[:-1]), '%b %d, %Y %H:%M:%S %p')

答案 1 :(得分:0)

使用str.rsplit

>>> 'Dec 15, 2013 6:50:52 PM CST'.rsplit(None, 1)[0]
'Dec 15, 2013 6:50:52 PM'
>>> time_str = 'Dec 15, 2013 6:50:52 PM CST'.rsplit(None, 1)[0]
>>> datetime.datetime.strptime(time_str, '%b %d, %Y %H:%M:%S %p')
datetime.datetime(2013, 12, 15, 6, 50, 52)