python,時間加減,時間計算,時間格式化,時間提取彙總

greenteazsh發表於2011-06-23
我要解決的問題是,發現某個檔案超過30分鐘時間不被更新,則報警

>>> t1=[2010,11,9,19,20,30] #2010年11月9日 19:30:30
>>> last_time=datetime.datetime(t1[0],t1[1],t1[2].t1[3],t1[4],t1[5]) #上次更新時間
>>> now_time = datetime.datetime.now() #當前時間
>>> #以下是亮點
>>> mkt_last = time.mktime(last_time.timetuple())
>>> mkt_now = time.mktime(now_time.timetuple())
>>> delt_time = (mkt_now-mkt_last)/60   #轉成分鐘
>>> if (delt_time -30) > 0 :
>>>     print "超過30分鐘沒有更新啦!"

這是我在解決問題時,發現的其他一些有用的函式,呵呵,留著備用吧

計算兩個時間的差,如兩個時間相差幾天,幾小時等
1.計算兩個日期相差天數的計算
>>> import datetime
>>> d1 = datetime.datetime(2005, 2, 16)
>>> d2 = datetime.datetime(2004, 12, 31)
>>> (d1 - d2).days
輸出結果:47

2.計算兩個時間相差的秒數
>>> import datetime
>>> starttime = datetime.datetime.now()
>>> #long running
>>> endtime = datetime.datetime.now()
>>> print (endtime - starttime).seconds

3.計算當前時間向後10小時的時間
>>> d1 = datetime.datetime.now()
>>> d3 = d1 + datetime.timedelta(hours=10)
>>> d3.ctime()


對時間的操作,其本上常用的類有:datetime和timedelta兩個。它們之間可以相互加減。每個類都有一些方法和屬性可以檢視具體的值,如datetime可以檢視:天數(day),小時數(hour),星期幾(weekday())等;timedelta可以查看:天數(days),秒數(seconds)等。

4.日期的操作必須使用time或datetime庫
import time
>>> s="2006-1-2"
>>> time.strptime(s,"%Y-%m-%d)
這是將字串格式的日期及時間轉成日期物件
轉義符對應意義如下
%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 當前時區的名稱
%% %號本身

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9521459/viewspace-700612/,如需轉載,請註明出處,否則將追究法律責任。

相關文章