2014-02-28 72 views
0
試圖轉換字符串對象到年月日時

...日期時間轉換在python

這裏s是一個字符串..

====== datetime_new.py ======== ====

s="05/30/2013:10:47:34" 

mytime = time.strptime(s, "%m/%d/%Y %H:%M:%S") 

print mytime 

得到一個錯誤,如:

ValueError: time data '05/30/2013:10:47:34' does not match format '%m/%d/%Y %H:%M:%S'

回答

2

有日期和時間部分之間有一個冒號,但在你的格式的空間。

但是time.strptime不會給你一個datetime,它會給你一個time.struct_time。如果您想要日期時間,請使用datetime.datetime.strptime

In [1]: import time 

In [2]: s="05/30/2013:10:47:34" 

In [4]: mytime = time.strptime(s, "%m/%d/%Y:%H:%M:%S") 

In [5]: mytime 
Out[5]: time.struct_time(tm_year=2013, tm_mon=5, tm_mday=30, tm_hour=10, tm_min=47, tm_sec=34, tm_wday=3, tm_yday=150, tm_isdst=-1) 

In [6]: import datetime 

In [7]: datetime.datetime.strptime(s, "%m/%d/%Y:%H:%M:%S") 
Out[7]: datetime.datetime(2013, 5, 30, 10, 47, 34)