本文簡單總結了一下Python處理時間和日期方面的模塊,主要就是datetime、time、calendar三個模塊的使用,希望這篇文章對于學習Python的朋友們有所幫助。
首先就是模塊的調用,很多IDE都已經安裝好了很多Python經常使用到的模塊,所以我們暫時不需要安裝模塊了。
import datetime
import time
import 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 yesterday
yesterday = 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 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模塊還可以處理閏年的問題
# 判斷是否閏年、兩個年份之間閏年的個數
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.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程序設計有所幫助。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

