孤荷凌寒自學python第二十七天python的datetime模塊及初識datetime.date模塊

孤荷凌寒自學python第二十七天python的datetime模塊及初識datetime.date模塊

 

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

1、datetime模塊編程

datetime模塊包含如下子模塊:網絡

(一) 表示時刻點 的模塊編程語言

datetime.date學習

datetime.time測試

datetime.datetimeui

datetime.datetime_CAPI操作系統

(二) 表示時間間隔(時間長度)的模塊日誌

datetime.deltaorm

(三) 表示時區信息的模塊

datetime.tzinfo

 

2、datetime模塊表示時間的起止極限

datetime模塊能表達1-9999年的全部時間。

有兩個相關常量

datetime.MINYEAR =1

datetime.MAXYEAR=9999

 

3、初識 datetime.date子模塊

datetime.date實例化時的初始形參有三個:年、月、日

執行初始化便可獲得一個實例化的datetime.date對象:

測試:

>>> import datetime

>>> dateTemp=datetime.date(2018,10,8)

>>> print(dateTemp)

2018-10-08

 

4、datetime.date對象的經常使用屬性

最經常使用的屬性有四個:

year  返回日期中的 年

month 返回日期中的 月

day 返回日期中的 日

 

__getattribute__  獲取日期對象中指定的屬性

 

下面繼續上面的測試(只有新增長的代碼部分)

>>> intY=dateTemp.year

>>> intM=dateTemp.month

>>> intD=dateTemp.day

>>> print(intY,intM,intD)

2018 10 8

>>> intY2=dateTemp.__getattribute__('year')

>>> print(intY2)

2018

 

5、比較兩個  datetime.date對象的大小

使用 datetime.date 對象的如下內部 方法  比較 當前datetime.date對象與另外一個datetime.date對象的大小:

測試以下:

import datetime

dateOne=datetime.date(2018,6,30)

dateTwo=datetime.date(2018,7,1)

print(dateOne.__eq__(dateTwo))  #dateOne是否等於dateTwo

print(dateOne.__ge__(dateTwo))  #dateOne是否大於等於dateTwo

print(dateOne.__gt__(dateTwo))  #dateOne是否大於dateTwo

print(dateOne.__le__(dateTwo))  #dateOne是否小於等於dateTwo

print(dateOne.__lt__(dateTwo))  #dateOne是否小於dateTwo

print(dateOne.__ne__(dateTwo))  #dateOne是否不等於dateTwo

以上全部方法都返回 布爾對象 True 或 False

 

6、兩個datetime.date對象的減法操做

1 正向相減(當前日期對象減去後面參數的日期對象)

x.__sub__(y)  表示x-y

2 反向相減 (後面的參數的日期對象減去當前日期對象)

x.__rsub__(y) 表示y-x

 

執行datetime.date對象的這兩個方法後,返回的是一個:

datetime.timedelta

對象。

 

7、對datetime.date對象的國際化處理(iso標準)

1 isocalendar()

執行此方法 ,將返回一個元組,此元組對象有三個元素,前後順序排列爲:

年、一年的第幾周、星期幾(1表示星期一)

測試:

>>> import datetime

>>> a=datetime.date(2017,3,22)

>>> tpl=a.isocalendar()

>>> print(tpl)

(2017, 12, 3)

 

2  isoformat()   __str__()

執行此方法,將返回國際標準的日期字符串:

YYYY-MM-DD

在操做系統日期環境設置爲中文的狀況下,__str__()方法返回結果與isoformat()方法同樣。

測試:

>>> import datetime

>>> d=datetime.date(2018,10,9)

>>> strA=d.isoformat()

>>> strB=d.__str__()

>>> print(strA,strB)

2018-10-09 2018-10-09

3  isoweekday()

執行此方法 將返回 星期幾對應的數字 1-7,其中1表示星期一,7表示星期日

繼續上面的測試(如下代碼只有新增的代碼 部分)

>>> intWeekDay=d.isoweekday()

>>> print(intWeekDay)

2

 

8、datetime.date對象的其它方法

1 weekday()

執行此方法 將返回 星期幾對應的數字 0-6 ,其中0表示星期一,6表示星期日

 

2 timetuple()

執行此方法  將把當前datetime.date對象轉換成time模塊中的 struct_time(標準時間元組)對象。

但datetime.date對象中沒有時間信息,那麼,轉換後的struct_time(標準時間元組)對象中的全部與時間相關的值都用0來填充。

繼續上面的測試(如下代碼只有新增的代碼 部分):

>>> tplStruct_Time=d.timetuple()

>>> print(tplStruct_Time)

time.struct_time(tm_year=2018, tm_mon=10,tm_mday=9, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=282, tm_isdst=-1)

 

——————————

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

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

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

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

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

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

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

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

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

 

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

 

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

連接:https://pan.baidu.com/s/1sxoKKui9oqis5cPSnPam0w 密碼:msqa

 

喜馬拉雅語音筆記:

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

相關文章
相關標籤/搜索