如何將字符串轉換爲指定的數據時間格式?例如:如何將字符串轉換爲數據時間格式?
str = 'Wed Mar 16 16:12:05 2016 +0800'
如何將它轉換爲:2016-03-16 16:12:05
?
如何將字符串轉換爲指定的數據時間格式?例如:如何將字符串轉換爲數據時間格式?
str = 'Wed Mar 16 16:12:05 2016 +0800'
如何將它轉換爲:2016-03-16 16:12:05
?
使用datatime
庫的時間字符串由**strptime()**
和DateTime對象由**strftime()**
轉換成DateTime對象,日期時間strign。
格式模式:
演示:
>>> from datetime import datetime
>>> result_date = datetime.strptime('Wed Mar 16 16:12:05 2016', '%a %b %d %H:%M:%S %Y')
>>> result_date
datetime.datetime(2016, 3, 16, 16, 12, 5)
>>> result_date.strftime("%Y-%m-%d %H:%M:%S")
'2016-03-16 16:12:05'
注意:
srt
非常感謝所有善良的人的幫助:) – JiangLing
你可以做到這一點使用strptime:
import datetime
myDatetime=datetime.datetime.strptime(My_string, format)
與格式是如"%Y-%m-%d %H:%M:%S"
的年,月,日,時分秒,所以你的情況這將是日,月的「名,一天,等...
是的,我參考手冊,它可以工作,非常感謝 – JiangLing
箭頭是在一個非常straightoforward的方式做這一個偉大的模塊: http://crsmithdev.com/arrow/
我perfer箭頭,日期時間,因爲它是莫再簡潔
爲您具體的例子:
import arrow
date_str = 'Wed Mar 16 16:12:05 2016 +0800'
date = arrow.get(date_str,'ddd MMM D HH:mm:SS YYYY Z')
print date
2016-03-16T16:12:00.050000+08:00
>>>
而且,這是一個壞主意,名稱字符串
str
由於這被認爲是,對於字符串類型!
爲什麼選擇Arrow?我相信它比DATETIME一個更好的API:
>>> date.humanize()
3: u'2 days ago'
>>> date.resolution
4: datetime.timedelta(0, 0, 1)
>>> date.datetime
5: datetime.datetime(2016, 3, 16, 16, 12, 0, 50000, tzinfo=tzoffset(None, 28800))
>>> date.utctimetuple()
7: time.struct_time(tm_year=2016, tm_mon=3, tm_mday=16, tm_hour=8, tm_min=12, tm_sec=0, tm_wday=2, tm_yday=76, tm_isdst=0)
>>>
什麼是'+ 0800'? –
感謝所有,我用strptime + strftime,它可以工作 – JiangLing