咱們能夠經過學習在Python中對日期時間的處理,能夠在快速的完成工做,好比:函數
在Python的程序可使用不少的方式處理日期和時間,轉換日期格式是一個常見的功能。Python中提供了一個time和calender的模塊能夠用來作格式化日期和時間的。時間間隔都是以秒爲單位的浮點小數。學習
在電腦中的時間都是由CPU儲存,因此通常呢也叫作CPU時間, cpu時間是計算從1970年1月1日0點0分到目前這個時間點所經歷的的秒數來表示,同時又能夠稱爲時間戳。spa
1.time模塊線程
1.1導入time模塊3d
首先使用import導入time模塊日誌
1.2查看時間戳orm
使用time.time函數查看當前的時間戳爲多少,time.time的做用是返回當前時間的時間戳進程
1.3返回當地時間rem
使用time.localtime函數,將當前時間戳返回爲本地的時間,返回的參數有9個:字符串
序號屬性字段值0Tm_year4位數年20081tm_mon月1-122tm_mday日1-313tm_hour小時0-234tm_min分鐘0-595tm_sec秒0-61(60或61 是閏秒)6tm_wday一週的第幾日0-6(0爲週一)7tm_yday一年的第幾日1-365(儒略曆)8tm_isdst夏令時-1,0,1 -1是決定是否爲夏令時的旗幟
能夠經過這9個返回的參數判斷當前的時間
1.4暫停代碼運行時間
time.sleep暫停代碼的運行時間,time.sleep函數的做用是推遲調用線程的運行,能夠經過參數Secs指秒數,表示進程掛起的時間。
1.5計算時間點
函數time.clock是以浮點數計算的秒數返回當前的CPU時間。這個函數在不一樣的系統上的含義也是不一樣的, 在UNIX系統上,它返回的是"進程時間",它是用秒錶示的浮點數(時間戳)。而在WINDOWS中,第一次調用,返回的是進程運行的實際時間。而第二次以後的調用是自第一次調用之後到如今的運行時間。(其實是以WIN32上QueryPerformanceCounter爲基礎,它比毫秒錶示更爲精確)
1.6獲取格式化的時間
咱們能夠根據需求選取各類格式,可是最簡單的獲取可讀的時間模式的函數是asctime:
Time.asctime函數接受時間元組並返回一個可讀的形式」5月7日,周天,13點20分26秒,2017年」的24個字符的字符串。參數是9個元素的元組或者經過函數Gmtime或localtime函數返回的時間值。
1.7格式化日期
經過time模塊中strftime方法來格式化日期:
Time.strftime函數接收時間元組,並返回以可讀字符串表示薪資的時間,格式的話由參數format決定。
1.8解析時間
Time.strptime(str,fmt=’%a %b %d %H:%M:%S %Y’)根據fromt的格式把一個時間字符串解析爲時間元組。
在Python中有22個時間日期的格式化符號,經過這些符號就能夠設置參數format了:
2.Calendar模塊
Calendar模塊是與日曆相關的模塊,但也有很普遍的方法來處理年曆和月曆,例如打印某月的月曆:
使用claendar.month函數生成月份的日曆。
在claendar模塊中有12種函數,是比較經常使用的:
2.1 calendar.calendar(year,w=2,I=1,c=6,m=3)
返回一個多行字符串格式的year年年曆,3個月爲一行,間隔距離爲c,每日寬度間隔爲w字符,每行長度爲21w+18+2c,i是每星期行數
2.2calendar.firstweekday
2.3calendar.isleap(year)
2.4calendar.leapdays(y1,y2)
2.5calendar.month(year,month,w=2,i=1)
返回一個多行字符串格式的year年month月日曆,兩行標題,一週一行。每日寬度間隔爲w字符,每行的長度爲7*w+6,I是每星期的行數。
2.6calendar.monthcalendar(year,month)
返回一個整數的單層嵌套列表,每一個子列表裝載表明一個星期的整數,year年month月外的日期都設爲0,範圍內的日子都由該月第幾日表示,從1開始。
2.7 calendar.monthrange(year,month)
返回兩個整數,第一個是該月第一天是星期幾的日期碼,第二個是該月天數的日期碼,天是從0(星期一)到6(星期日);月是從1-12。
2.8calendar.prcal(year,w=2,i=1,c=6)
至關因而print(calendar.calendar(year,w,I,c))
2.9calendar.prmonth(year,month,w=2,i=1)
至關於print(calendar.calendar(year,w,I,c))
2.10 calendar.setfirstweekday(weekday)
設置每週的起碼日期碼。0(星期一)到6(星期日)
2.11 calendar.timegm(tupletime)
和time.gmtime相反:接受一個時間元組形式,返回該時刻的時間戳(1970年後的浮點秒數)
2.12 calendar.weekday(year,month,day)
返回給定日期的日期碼。0(週一)到6(週日),月份爲1-12。
3.datetime模塊
Datetime模塊是Python處理日期和時間的標準庫
3.1獲取當前的日期
Datetime.now函數的做用是返回當前日期和時間,返回的類型是datetime
3.2獲取指定日期和時間
若是要指定某個日期和時間呢,咱們直接用參數構造一個datetime也是可的:
經過datetime函數,直接輸入年月日時分的參數,來構造一個指定的日期和時間
3.3datetime轉換爲timestamp
在計算機中,時間其實是用數字表示的,咱們把1970年1月1日,00:00:00 UTC+00;00時區的時刻成爲epoch time,記爲0(1970年以前的時間戳爲負數),當前時間就是相對於Epoch time的秒數,能夠成爲timestamp。
能夠理解爲:
Timestamp = 0 = 1970-1-1 00:00:00 UTC+0:00
拓展知識UTC 和 Epoch time
UTC time,Coordinated Universal Time,世界標準時間又稱爲格林尼治時間,與UTCTime對應的是各個時區的localtime,東N區的時間比UTC時間早N個小時所以UTC+N小時,即爲東N區的本地時間;而西N區時間比UTC時間玩N個小時,即UTC time – N小時即爲西N區的本地時間;中國在東8區,所以比UTC時間早了八個小時,能夠以UTC+8進行表示。
Epoch time表示時間開始的七點;是一個特定的時間,不一樣平臺上的時間點不一樣,對於Unix而言,epoch time 爲1970-01-01 00:00:00 UTC
首先轉換爲時間戳格式
將時間戳格式的時間轉換爲字符串日期時間
設置時間的格式
3.4 datetime加減
對於日期和時間進行加減實際上呢就是把日期時間datetime日後或者往前計算,獲得新的日期時間datetime。加減能夠直接運用+和-預算符,不過須要呢導入timedelta這個datetime模塊下的類
在如今的時間加上10個小時的時間
在如今的時間上減去一天的時間
在如今的時間上加上2天12小時的時間