2016-08-02 86 views
0

我想從字符串轉換到使用時間戳:strptime時間戳和AM/PM

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'

回答

2

的下面將工作,只要小數點後的部分總是以000結尾。:-) %f捕獲微秒,而我猜你的時間戳使用納秒?

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

你可能會考慮只是剔除這三位數字。例如。

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') 
+0

是的它是納秒。 Python無法處理nanosec? :) – kinkajou

+0

不管'datetime'。 – smarx