2016-03-18 82 views

回答

2

使用datatime庫的時間字符串由**strptime()**和DateTime對象由**strftime()**轉換成DateTime對象,日期時間strign。

格式模式:

  1. %一平日的語言環境的縮寫名稱。
  2. %d本月的一天爲零填充十進制數。
  3. %b月份作爲語言環境的縮寫名稱。
  4. %H小時(24小時制)作爲零填充十進制數。
  5. %M分鐘爲零填充十進制數。
  6. %S第二個作爲零填充十進制數。

more details..

演示:

>>> 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' 

注意

  1. 不要使用保留字作爲變量名。例如srt
+0

非常感謝所有善良的人的幫助:) – JiangLing

2

你可以做到這一點使用strptime

import datetime 
myDatetime=datetime.datetime.strptime(My_string, format) 

與格式是如"%Y-%m-%d %H:%M:%S"的年,月,日,時分秒,所以你的情況這將是日,月的「名,一天,等...

+0

是的,我參考手冊,它可以工作,非常感謝 – JiangLing

3

箭頭是在一個非常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) 
>>> 
+0

此外,誰downvoted這一點,關心解釋爲什麼? –

+0

這是什麼原因,爲什麼我喜歡寫評論 ,而不是答案的 – qvpham

+0

哇,我不明白,評論 –

相關問題