2012-09-23 41 views
0

有沒有像datetime.datetime.strptime()這樣的方法,它接受像'16:00'這樣的字符串並返回datetime.time(16,0)對象(即只保存時間的對象,而不是日期)?如何從字符串初始化datetime.time對象?

編輯: 我可以使用datetime.datetime.strptime(),但它會返回一個datetime.datetime,我只想要時間,而不是日期。

回答

3
import datetime 
import time 
def datetimestrptime(time_string,time_fmt): 
    t = time.strptime(time_string,time_fmt) 
    return datetime.time(hour=t.tm_hour,minute=t.tm_min,second=t.tm_sec) 
print datetimestrptime("16:00","%H:%M") 
16:00:00 
5
import time 
time.strptime("16:00", "%H:%M") 
+0

簡單而有效! –

+0

它創建了一個'time.struct_time(tm_year = 1900,tm_mon = 1,tm_mday = 1,tm_hour = 16,tm_min = 0,tm_sec = 0,tm_wday = 0,tm_yday = 1,tm_isdst = -1)',而不是'datetime.time'。 – Yariv

+0

然後你可以使用'datetime.datetime.fromtimestamp(time.strptime(...))' –