带有时间戳和AM / PM的strptime

时间:2016-08-02 02:04:17

标签: python python-2.7

我正在尝试使用以下字符串转换为时间戳:

from datetime import datetime
date_object = datetime.strptime('09-MAR-15 12.54.45.000000000 AM', '%d-%b-%y %I.%M.%S.%f %p')

我得到: ValueError

  

时间数据'09 -MAR-15 12.54.45.000000000 AM'与格式不匹配   '%d-%b-%y%I.%M。%S.%f%p'

1 个答案:

答案 0 :(得分:2)

只要小数点后的部分始终以000结尾,以下内容就会起作用。:-) %f捕获微秒,而我猜你的时间戳是否使用纳秒?

date_object = datetime.strptime('09-MAR-15 12.54.45.000000000 AM',
                                '%d-%b-%y %I.%M.%S.%f000 %p')

您可能会考虑切断这三位数字。 E.g。

date_object = datetime.strptime(
    re.sub(r'\d{3}( .M)$', r'\1', '09-MAR-15 12.54.45.000000000 AM'),
    '%d-%b-%y %I.%M.%S.%f %p')
相关问题