Python時間模組datetime、time、calendar的使用方法

來源:互聯網
上載者:User
本文簡單總結了一下Python處理時間和日期方面的模組,主要就是datetime、time、calendar三個模組的使用,希望這篇文章對於學習Python的朋友們有所協助。

首先就是模組的調用,很多IDE都已經安裝好了很多Python經常使用到的模組,所以我們暫時不需要安裝模組了。

import datetimeimport timeimport calendar

1.擷取到此時的準確時間

# 擷取此時的時間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.擷取當天的日期

 # 擷取當天的日期 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)  # 查看擷取到時間的類型 print type(yesterday) return yesterdayyesterday = getYesterday()print "昨天的時間:", yesterday

4.擷取n天以前的日期
這個應該就不用給出代碼了吧,稍微想想就可以得出結果了。

5.字串轉換為時間和日期

# 字串轉換為時間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.擷取日曆相關資訊

# 擷取某個月的日曆,返回字串類型cal = calendar.month(2015, 12)print calcalendar.setfirstweekday(calendar.SUNDAY) # 設定日曆的第一天cal = calendar.month(2015, 12)print cal# 擷取一年的日曆cal = calendar.calendar(2015)print calcal = calendar.HTMLCalendar(calendar.MONDAY)print cal.formatmonth(2015, 12)

7.calendar模組還可以處理閏年的問題

# 判斷是否閏年、兩個年份之間閏年的個數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 當前時區的名稱
  • %% %號本身

代碼:

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.0time.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程式設計有所協助。

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.