首先就是模塊的調用,很多IDE都已經安裝好了很多Python經常使用到的模塊,所以我們暫時不需要安裝模塊了。
1 2 3 | import datetime import time import calendar |
1.獲取到此時的準確時間
1 2 | # 獲取此時的時間 print time.localtime() |
1 2 | / / 輸出格式為: 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.獲取當天的日期
1 2 3 | # 獲取當天的日期 print datetime.datetime.now() print datetime.date.today() |
3.獲取昨天的日期
1 2 3 4 5 6 7 8 9 10 | # 獲取昨天的日期 def getYesterday(): ? today = datetime.date.today() ? oneday = datetime.timedelta(days = 1 ) ? yesterday = today - oneday ? print type (today)? # 查看獲取到時間的類型 ? print type (yesterday) ? return yesterday yesterday = getYesterday() print "昨天的時間:" , yesterday |
4.獲取n天以前的日期
這個應該就不用給出代碼了吧,稍微想想就可以得出結果了。
5.字符串轉換為時間和日期
1 2 3 4 5 6 7 | # 字符串轉換為時間 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" ) |
輸出結果:
2015-12-29
2014-03-01 00:00:00
2015-12-29 01:10:25
47 days, 0:00:00
6.獲取日歷相關信息
1 2 3 4 5 6 7 8 9 10 11 12 | # 獲取某個月的日歷,返回字符串類型 cal = calendar.month( 2015 , 12 ) print cal calendar.setfirstweekday(calendar.SUNDAY) # 設置日歷的第一天 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模塊還可以處理閏年的問題
1 2 3 | # 判斷是否閏年、兩個年份之間閏年的個數 print calendar.isleap( 2012 ) print calendar.leapdays( 2010 , 2015 ) |
針對Python時間模塊datetime\time進行詳細探討。
轉義符對應意義如下
- %a 本地簡化星期名稱
- %A 本地完整星期名稱
- %b 本地簡化的月份名稱
- %B 本地完整的月份名稱
- %c 本地相應的日期表示和時間表示
- %d 月內中的一天(0-31)
- %H 24小時制小時數(0-23)
- %I 12小時制小時數(01-12)
- %j 年內的一天(001-366)
- %m 月份(01-12)
- %M 分鐘數(00=59)
- %p 本地A.M.或P.M.的等價符
- %S 秒(00-59)
- %U 一年中的星期數(00-53)星期天為星期的開始
- %w 星期(0-6),星期天為星期的開始
- %W 一年中的星期數(00-53)星期一為星期的開始
- %x 本地相應的日期表示
- %X 本地相應的時間表示
- %y 兩位數的年份表示(00-99)
- %Y 四位數的年份表示(000-9999)
- %Z 當前時區的名稱
- %% %號本身
代碼:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | import time import datetime ? ?? ?#兩日期相減 ? ?d1 = datetime.datetime( 2005 , 2 , 16 ) d2 = datetime.datetime( 2004 , 12 , 31 ) print (d1 - d2).days ?? ?#運行時間: ?? ?starttime = datetime.datetime.now() endtime = datetime.datetime.now() print (endtime - starttime).seconds ? ?#計算當前時間向后10天的時間。 # 如果是小時 days 換成 hours ? ?? ?d1 = datetime.datetime.now() d3 = d1 datetime.timedelta(days = 10 ) ? ?print str (d3) print d3.ctime() time.ctime([sec]) #把秒數轉換成日期格式,如果不帶參數,則顯示當前的時間。 ? ?>>> 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 將日期轉化為秒 >>> 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()取得當前時間; time.localtime()取得本地時間; time.strftime()格式化日期; time.strptime(timeString)把字符串轉化為日期; 判斷輸入的日期是星期幾 >>> 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模塊獲取當前時間 >>> 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' >>> |
以上就是關于Python時間模塊的詳細學習,希望對大家學習Python程序設計有所幫助。