孤荷凌寒自學python第三十一天python的datetime.timedelta模塊

 孤荷凌寒自學python第三十一天python的datetime.timedelta模塊

 

(完整學習過程屏幕記錄視頻地址在文末,手寫筆記在文末)python

datetime.timedelta模塊是一個表示 時間長度的 類,不是以前datetime.datetime那樣的 表示 時間點(時刻點)的類。編程

 

1、怎樣獲得一個datetime.timedelta對象網絡

(一)  方法一:兩個表示時刻點的日期時間對象直接進行減法運算就會獲得一個datetime.timedelta對象。編程語言

注意:datetime.date對象之間、datetime.datetime對象之間能夠進行同種類對象的減法運算。但datetime.time對象不能進行減法運算。ide

(二)  方法二:經過三個類的對象都有的:__sub__  __rsub__方法進行減法運算。學習

測試:測試

import time3d

import datetime日誌

#表示時間長度的對象 datetime.timedelta類視頻

 

d1=datetime.datetime(2018,7,1,22,34,43,998) #d1是一個datetime.datetime類的對象

d2=datetime.datetime(2018,7,2,23,54,23,766)

 

tdt1=d2-d1 #經過兩個時刻點的時間對象的相減操做,能夠獲取一個datetime.timedelta類的對象

tdt2=d2.__sub__(d1) #做用等同於d2-d1

上面測試例子中獲得的:tdt1,tdt2都是datetime.timedelta對象。

 

(三)  直接將類datetime.timedelta實例化爲一個datetime.timedelta對象;

新datetime.timedelta對象=datetime.timedelta(時間單位=數量)

時間單位能夠是:

days  天

hours  時

minutes 分

seconds 秒

microseconds 微秒

注意此類的初始化方法的參數是一個關鍵字參數,必須以關鍵字賦值的方法傳遞實參給形參。

測試:

import time

import datetime

#表示時間長度的對象 datetime.timedelta類

 

d1=datetime.datetime(2018,7,1,22,34,43,998) #d1是一個datetime.datetime類的對象

d2=datetime.datetime(2018,7,2,23,54,23,766)

 

tdt1=d2-d1 #經過兩個時刻點的時間對象的相減操做,能夠獲取一個datetime.timedelta類的對象

tdt2=d2.__sub__(d1) #做用等同於d2-d1

 

#經過的類的初始化建構一個 時長類 的對象

tdt3=datetime.timedelta(hours=8) #傳遞的實參是 關鍵字參數 方法傳遞的,即 時間單位的複數單詞=具體的數字,表達是  具體的數字 時間單位

#此處的關鍵字參數中的關鍵字只有:days hours   minutes  seconds microseconds

print(tdt1)

print(tdt2)

print(tdt3)

運行結果:

1 day, 1:19:39.999768

1 day, 1:19:39.999768

8:00:00

 

2、datetime.timedelta對象的常見屬性

days

此屬性返回datetime.timedelta對象中表示的時間長度的天數部分

microseconds

此屬性返回datetime.timedelta對象中表示的時間長度的微秒數部分

此值將大於等於0秒,但小於1秒。

seconds

此屬性返回datetime.timedelta對象中表示的時間長度的秒數部分

此值將大於等於0秒,但小於1天。

注意沒有:時、分數的屬性!只能經過換算seconds屬性值來獲得。

測試:

import datetime

#表示時間長度的對象 datetime.timedelta類

 

d1=datetime.datetime(2018,7,1,22,34,43,998) #d1是一個datetime.datetime類的對象

d2=datetime.datetime(2018,7,2,23,54,23,766)

 

tdt1=d2-d1 #經過兩個時刻點的時間對象的相減操做,能夠獲取一個datetime.timedelta類的對象

tdt2=d2.__sub__(d1) #做用等同於d2-d1

 

#經過的類的初始化建構一個 時長類 的對象

tdt3=datetime.timedelta(hours=8) #傳遞的實參是 關鍵字參數 方法傳遞的,即 時間單位的複數單詞=具體的數字,表達是  具體的數字 時間單位

#此處的關鍵字參數中的關鍵字只有:days hours   minutes  seconds microseconds

 

print(tdt1.days) #時長中的天的部分 = 1

print(tdt1.seconds) #時長中的秒的部分,不是時長總的秒數,只是時長中,秒的部分,=4779 (約80分鐘)

print(tdt3.microseconds)#時長中的 微秒 部分,=999768 (接近1秒)

運算結果:

1

4779

0

 

3、datetime.timedelta對象能夠直接和datetime.datetime對象進行加減運算。

返回值仍然是一個新的datetime.datetime對象。

測試:

import time

import datetime

#表示時間長度的對象 datetime.timedelta類

 

d1=datetime.datetime(2018,7,1,22,34,43,998) #d1是一個datetime.datetime類的對象

d2=datetime.datetime(2018,7,2,23,54,23,766)

 

tdt1=d2-d1 #經過兩個時刻點的時間對象的相減操做,能夠獲取一個datetime.timedelta類的對象

tdt2=d2.__sub__(d1) #做用等同於d2-d1

 

#經過的類的初始化建構一個 時長類 的對象

tdt3=datetime.timedelta(hours=8) #傳遞的實參是 關鍵字參數 方法傳遞的,即 時間單位的複數單詞=具體的數字,表達是  具體的數字 時間單位

#此處的關鍵字參數中的關鍵字只有:days hours   minutes  seconds microseconds

 

d3=d1+tdt1 #d1是一個datetime.datetime對象,tdt1是一個datetime.timedelta對象,直接相加,返回一個新的datetime.datetime對象

print(d3)

運行結果:

2018-07-02 23:54:23.000766

 

——————————

今天整理的學習筆記完成,最後例行說明下個人自學思路:

根據過去多年我自學各類編程語言的經歷,認爲只有真正體驗式,解決實際問題式的學習纔會有真正的效果,即讓學習實際發生。在2004年的時候我開始在一個鄉村小學自學電腦 並學習vb6編程語言,沒有學習同伴,也沒有高師在上,甚至電腦都是孤島(鄉村那時尚未網絡),有的只是一本舊書,在痛苦的自學摸索中,我找到適應本身零基礎的學習方法:首先是每讀書的一小節就做相應的手寫筆記,第二步就是上機測試每個筆記內容是否實現,其中會發現書中講的其實有出入或錯誤,第三步就是在上機測試以後,將筆記改成電子版,造成最終的修訂好的正確無誤的學習筆記。

經過反覆嘗試錯誤,在那個沒有分享與交流的黑暗時期我摸黑學會了VB6,爾後接觸了其它語言,也曾聽過付費視頻課程,結果發現也許本身學歷果真過低,就算是零基礎的入門課程,其實也難以跟上進度,講師的教學多數出現對初學者的實際狀況並不瞭解的狀況,何況學習者的個體也存在差別呢?固然更可怕的是收費課程的價格每每是本身難以承受的。

因而個人全部編程學習都改成了自學,繼續本身的三步學習筆記法的學習之路。

固然自學的最大問題是會走那麼多的彎路,沒有導師直接輸入式的教學來得直接,好在網絡給咱們帶來無限搜索的機會,你們在網絡上的學習日誌帶給咱們共享交流的機會,而QQ羣等交流平臺、網絡社區的成立,咱們能夠一塊兒自學,互相批評交流,也能夠得到更有效,更自主的自學成果。

因而我以人生已過半的年齡,決定繼續個人編程自學之路,開始學習python,只但願與你們共同交流,一我的的獨行是可怕的,只有一羣人的共同前進纔是有但願的。

誠摯期待您的交流分享批評指點!歡迎聯繫我加入從零開始的自學聯盟。

這個時代互聯網成爲了一種基礎設施的存在,因而原本在孤獨學習之路上的咱們變得再也不孤獨,由於網絡就是一個新的客廳,咱們時刻均可以進行沙龍活動。

很是樂意能與你們一塊兒交流本身自學心得和發現,更但願你們可以對我學習過程當中的錯誤給予指點——是的,這樣我就能有許多免費的高師了——這也是分享時代,社區時代帶來的好福利,我相信你們會的,是吧!

 

根據徹底共享的精神,開源互助的理念,個人我的自學錄製過程是所有按4K高清視頻錄製的,從手寫筆記到驗證手寫筆記的上機操做過程全程錄製,但由於4K高清文件太大均超過5G以上,因此沒法上傳至網絡,若有須要可聯繫我QQ578652607對傳,樂意分享。上傳分享到百度網盤的只是壓縮後的720P的視頻。

 

個人學習過程錄像百度盤地址分享以下:(清晰度:1280x720)

連接:https://pan.baidu.com/s/18yNvSFJNb0pqEtE3eB1pYA 密碼:lo1v

Bilibili:

https://www.bilibili.com/video/av37644133/

喜馬拉雅語音筆記:

https://www.ximalaya.com/keji/19103006/143032429

圖片

相關文章
相關標籤/搜索