內置的 time 模塊讓 Python程序能讀取系統時鐘的當前時間。在 time 模塊中, time.time()和 time.sleep()函數是最有用的模塊。python
Unix 紀元是編程中常常參考的時間: 1970 年 1 月 1 日 0 點,即協調世界時( UTC)。 time.time()函數返回自那一刻以來的秒數,是一個浮點值(回想一下,浮點值只是一個帶小數點的數)。這個數字稱爲 UNIX 紀元時間戳。編程
若是須要讓程序暫停一下,就調用 time.sleep()函數,並傳入但願程序暫停的秒數。函數
Python 內置的 round()函數將它們縮短,該函數按照指定的精度四捨五入到一個浮點數。只要傳入要舍入的數字,再加上可選的第二個參數,指明須要傳入到小數點後多少位。若是省略第二個參數, round()將數字四捨五入到最接近的整數。
spa
以更方便的格式顯示日期,或對日期進行算術運算(例如,搞清楚 205 天前是什麼日期,或 123天后是什麼日期),就應該使用 datetime 模塊。code
返回一個 datetime 對象,表示當前的日期和時間,根據你的計算機的時鐘。這個對象包含當前時刻的年、月、日、時、分、秒和微秒。也能夠利用 datetime.datetime()函數,向它傳入表明年、月、日、時、分、秒的整數,獲得特定時刻的 datetime 對象。這些整數將保存在 datetime 對象的 year、month、 day、 hour、 minute 和 second屬性中。對象
Unix 紀元時間戳轉換爲 datetime
對象。 datetime 對象的日期和時間將根據本地時區轉換。字符串
datetime 模塊還提供了 timedelta 數據類型,它表示一段時間,而不是一個時刻。要建立 timedelta 對象,就用 datetime.timedelta()函數。 datetime.timedelta()函數接受關鍵字參數 weeks、 days、 hours、 minutes、 seconds、 milliseconds 和 microseconds。沒有 month 和 year 關鍵字參數,由於「月」和「年」是可變的時間,依賴於特定月份或年份。 timedelta 對象擁有的總時間以天、秒、微秒來表示。這些數字分別保存在 days、 seconds 和 microseconds 屬性中。class
delta = datetime.timedelta(days=11, hours=10, minutes=9, seconds=8) delta.days, delta.seconds, delta.microseconds #(11, 36548, 0) delta.total_seconds() #986948.0 str(delta) #'11 days, 10:09:08'
算術運算符能夠用於對 datetime 值進行日期運算。例如,要計算今天以後 1000天的日期,在交互式環境下:date
>>> dt = datetime.datetime.now() >>> dt datetime.datetime(2015, 2, 27, 18, 38, 50, 636181) >>> thousandDays = datetime.timedelta(days=1000) >>> dt + thousandDays datetime.datetime(2017, 11, 23, 18, 38, 50, 636181)
python中時間日期格式化符號:數據類型
oct21st = datetime.datetime(2015, 10, 21, 16, 29, 0) print oct21st.strftime('%Y/%m/%d %H:%M:%S') print oct21st.strftime('%I:%M %p') print oct21st.strftime("%B of '%y") #輸出 #2015/10/21 16:29:00 #04:29 PM #October of '15
若是有一個字符串的日期信息,如'2015/10/21 16:29:00'或'October 21, 2015',須要將它轉換爲 datetime 對象,就用 datetime.datetime.strptime()函數。 strptime()函數與strftime()方法相反。定製的格式字符串使用相同的指令,像 strftime()同樣。必須將格式字符串傳入 strptime(),這樣它就知道如何解析和理解日期字符串( strptime()函數名中 p 表示解析, parse)。
>>>datetime.datetime.strptime('October 21, 2015', '%B %d, %Y') #datetime.datetime(2015, 10, 21, 0, 0) >>> datetime.datetime.strptime('2015/10/21 16:29:00', '%Y/%m/%d %H:%M:%S') #datetime.datetime(2015, 10, 21, 16, 29) >>> datetime.datetime.strptime("October of '15", "%B of '%y") #datetime.datetime(2015, 10, 1, 0, 0)