Python時(shí)間模塊datetime、time、calendar的使用方法
本文簡(jiǎn)單總結(jié)了一下Python處理時(shí)間和日期方面的模塊,主要就是datetime、time、calendar三個(gè)模塊的使用,希望這篇文章對(duì)于學(xué)習(xí)Python的朋友們有所幫助。
首先就是模塊的調(diào)用,很多IDE都已經(jīng)安裝好了很多Python經(jīng)常使用到的模塊,所以我們暫時(shí)不需要安裝模塊了。
import datetime import time import calendar
1.獲取到此時(shí)的準(zhǔn)確時(shí)間
# 獲取此時(shí)的時(shí)間 print time.localtime()
//輸出格式為: time.struct_time(tm_year=2015, tm_mon=12, tm_mday=29, tm_hour=1, tm_min=10, tm_sec=25, tm_wday=1, tm_yday=363, tm_isdst=0)
2.獲取當(dāng)天的日期
# 獲取當(dāng)天的日期 print datetime.datetime.now() print datetime.date.today()
3.獲取昨天的日期
# 獲取昨天的日期 def getYesterday(): today = datetime.date.today() oneday = datetime.timedelta(days=1) yesterday = today - oneday print type(today) # 查看獲取到時(shí)間的類型 print type(yesterday) return yesterday yesterday = getYesterday() print "昨天的時(shí)間:", yesterday
4.獲取n天以前的日期
這個(gè)應(yīng)該就不用給出代碼了吧,稍微想想就可以得出結(jié)果了。
5.字符串轉(zhuǎn)換為時(shí)間和日期
# 字符串轉(zhuǎn)換為時(shí)間 def strTodatetime(datestr, format): return datetime.datetime.strptime(datestr, format) print time.strftime("%Y-%m-%d", time.localtime()) print strTodatetime("2014-3-1","%Y-%m-%d") print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) print strTodatetime("2005-2-16","%Y-%m-%d")-strTodatetime("2004-12-31","%Y-%m-%d")
輸出結(jié)果:
2015-12-29
2014-03-01 00:00:00
2015-12-29 01:10:25
47 days, 0:00:00
6.獲取日歷相關(guān)信息
# 獲取某個(gè)月的日歷,返回字符串類型 cal = calendar.month(2015, 12) print cal calendar.setfirstweekday(calendar.SUNDAY) # 設(shè)置日歷的第一天 cal = calendar.month(2015, 12) print cal # 獲取一年的日歷 cal = calendar.calendar(2015) print cal cal = calendar.HTMLCalendar(calendar.MONDAY) print cal.formatmonth(2015, 12)
7.calendar模塊還可以處理閏年的問題
# 判斷是否閏年、兩個(gè)年份之間閏年的個(gè)數(shù) print calendar.isleap(2012) print calendar.leapdays(2010, 2015)
針對(duì)Python時(shí)間模塊datetime\time進(jìn)行詳細(xì)探討。
轉(zhuǎn)義符對(duì)應(yīng)意義如下
- %a 本地簡(jiǎn)化星期名稱
- %A 本地完整星期名稱
- %b 本地簡(jiǎn)化的月份名稱
- %B 本地完整的月份名稱
- %c 本地相應(yīng)的日期表示和時(shí)間表示
- %d 月內(nèi)中的一天(0-31)
- %H 24小時(shí)制小時(shí)數(shù)(0-23)
- %I 12小時(shí)制小時(shí)數(shù)(01-12)
- %j 年內(nèi)的一天(001-366)
- %m 月份(01-12)
- %M 分鐘數(shù)(00=59)
- %p 本地A.M.或P.M.的等價(jià)符
- %S 秒(00-59)
- %U 一年中的星期數(shù)(00-53)星期天為星期的開始
- %w 星期(0-6),星期天為星期的開始
- %W 一年中的星期數(shù)(00-53)星期一為星期的開始
- %x 本地相應(yīng)的日期表示
- %X 本地相應(yīng)的時(shí)間表示
- %y 兩位數(shù)的年份表示(00-99)
- %Y 四位數(shù)的年份表示(000-9999)
- %Z 當(dāng)前時(shí)區(qū)的名稱
- %% %號(hào)本身
代碼:
import time import datetime #兩日期相減 d1 = datetime.datetime(2005, 2, 16) d2 = datetime.datetime(2004, 12, 31) print (d1 - d2).days #運(yùn)行時(shí)間: starttime = datetime.datetime.now() endtime = datetime.datetime.now() print (endtime - starttime).seconds #計(jì)算當(dāng)前時(shí)間向后10天的時(shí)間。 # 如果是小時(shí) days 換成 hours d1 = datetime.datetime.now() d3 = d1 datetime.timedelta(days =10) print str(d3) print d3.ctime() time.ctime([sec])#把秒數(shù)轉(zhuǎn)換成日期格式,如果不帶參數(shù),則顯示當(dāng)前的時(shí)間。 >>> import time >>> time.ctime() >>> "Wed Jun 14 15:02:50 2006" >>> time.ctime(1138068452427683) "Sat Dec 14 04:51:44 1901" >>> import time >>> time.strftime("%Y-%m-%d %X",time.localtime()) "2011-03-15 20:42:12" >>> time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()) "2011-03-15 20:03:47" DateTime模塊 ---------------------------- datetime 將日期轉(zhuǎn)化為秒 >>> import datetime,time >>> time.mktime(datetime.datetime(2009,1,1).timetuple()) 1230739200.0 >>> cc=[2000,11,3,12,43,33] #Attributes: year, month, day, hour, minute, second >>> time.mktime(datetime.datetime(cc[0],cc[1],cc[2],cc[3],cc[4],cc[5]).timetuple()) 973226613.0 time.time()取得當(dāng)前時(shí)間; time.localtime()取得本地時(shí)間; time.strftime()格式化日期; time.strptime(timeString)把字符串轉(zhuǎn)化為日期; 判斷輸入的日期是星期幾 >>> datetime.datetime(2011,02,15).weekday() 1 >>> datetime.datetime(2011,02,15).weekday() 1 >>> datetime.datetime(2011,02,16).weekday() 2 >>> datetime.datetime(2011,02,17).weekday() 3 >>> datetime模塊獲取當(dāng)前時(shí)間 >>> datetime.datetime.utcnow() datetime.datetime(2011, 3, 15, 13, 19, 32, 264194) >>> datetime.datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S") 格式化 '2011-03-15 13:19:27' >>>
以上就是關(guān)于Python時(shí)間模塊的詳細(xì)學(xué)習(xí),希望對(duì)大家學(xué)習(xí)Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
淺談pytorch中為什么要用 zero_grad() 將梯度清零
這篇文章主要介紹了pytorch中為什么要用 zero_grad() 將梯度清零的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05Python腳本按照當(dāng)前日期創(chuàng)建多級(jí)目錄
今天小編就為大家分享一篇關(guān)于Python腳本按照當(dāng)前日期創(chuàng)建多級(jí)目錄,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-03-03利用Python將原始邊列表轉(zhuǎn)換為鄰接矩陣的過程
有時(shí)候,我們會(huì)從外部數(shù)據(jù)源中得到原始的邊列表,而需要將其轉(zhuǎn)換為鄰接矩陣以便進(jìn)行后續(xù)的分析和處理,本文將介紹如何使用Python來實(shí)現(xiàn)這一轉(zhuǎn)換過程,需要的朋友可以參考下2024-04-04python3實(shí)現(xiàn)讀取chrome瀏覽器cookie
這里給大家分享的是python3讀取chrome瀏覽器的cookie(CryptUnprotectData解密)的代碼,主要思路是讀取到的cookies被封裝成字典,可以直接給requests使用。2016-06-06教你用python實(shí)現(xiàn)一個(gè)無界面的小型圖書管理系統(tǒng)
今天帶大家學(xué)習(xí)怎么用python實(shí)現(xiàn)一個(gè)無界面的小型圖書管理系統(tǒng),文中有非常詳細(xì)的圖文解說及代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們有很好地幫助,需要的朋友可以參考下2021-05-05Python貪心算法Greedy Algorithm解決案例小結(jié)
這篇文章主要為大家介紹了Python貪心算法Greedy Algorithm解決案例小結(jié),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06Python基礎(chǔ)之列表常見操作經(jīng)典實(shí)例詳解
這篇文章主要介紹了Python基礎(chǔ)之列表常見操作,結(jié)合實(shí)例形式詳細(xì)分析了Python列表創(chuàng)建方式、內(nèi)置函數(shù)與相關(guān)使用技巧,需要的朋友可以參考下2020-02-02Pandas中Concat與Append的實(shí)現(xiàn)與區(qū)別小結(jié)
本文主要介紹了Pandas中Concat與Append的實(shí)現(xiàn)與區(qū)別小結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-11-11