time
在 Python 文檔裏,time是歸類在Generic Operating System Services中,換句話說, 它提供的功能是更加接近於操做系統層面的。通讀文檔可知,time 模塊是圍繞着 Unix Timestamp 進行的。
該模塊主要包括一個類 struct_time,另外其餘幾個函數及相關常量。函數
datetime
datetime 比 time 高級了很多,能夠理解爲 datetime 基於 time 進行了封裝,提供了更多實用的函數。在datetime 模塊中包含了幾個類,具體關係以下:操作系統
格式化時間主要用到的是datetime.datetime.strftime()方法和datetime.datetime.strptime()方法,這兩個方法的一字之差'f'和'p'指的是什麼呢?code
我的理解:strftime中的'f'指的是format,即格式化時間;strptime中的'p'指的是parse,即將一個字符串string按照指定的格式解析爲時間orm
官方解釋是對象
strptime(...) string, format -> new datetime parsed from a string (like time.strptime()).
簡單來講,strptime的做用就是將一個字符串解析爲時間,並返回爲datetime對象。文檔
如咱們有字符串 '2018-05-18 11:09:34', 如何將它轉換爲datetime對象呢?字符串
In [1]: import datetime as dt In [2]: strTime = '2018-05-18 11:09:34' In [3]: type(strTime) Out[3]: str In [4]: time = dt.datetime.strptime(strTime, '%Y-%m-%d %H:%M:%S') In [5]: time Out[5]: datetime.datetime(2018, 5, 18, 11, 9, 34) In [6]: type(time) Out[6]: datetime.datetime
strftime(...) format -> strftime() style string.
strptime的做用是格式化時間格式,使其按照咱們想要的格式來顯示。如咱們要獲得 '11:09:34 2018-05-18' 的格式來輸出時間。string
以下例,先將字符串解析爲datetime對象,而後在格式化時間輸出,將其輸出按照'11:09:34 2018-05-18'的格式輸出。form
In [1]: strTime = '2018-05-18 11:09:34' In [2]: time = dt.datetime.strptime(strTime, '%Y-%m-%d %H:%M:%S') In [3]: time Out[3]: datetime.datetime(2018, 5, 18, 11, 9, 34) In [4]: type(time) Out[4]: datetime.datetime In [5]: time.strftime('%H:%M:%S %Y-%m-%d') Out[5]: '11:09:34 2018-05-18' In [6]: aa = time.strftime('%H:%M:%S %Y-%m-%d') In [7]: type(aa) Out[7]: str