須要用python的腳原本快速檢測一個文件內的二個時間日期字符串的大小,其實實現很簡單,首先一些基礎的日期格式化知識以下
複製代碼python
你能夠試下下面的方式來取得當前時間的時間戳: import time print time.time() 輸出的結果是: 1357723206.31json
可是這樣是一連串的數字不是咱們想要的結果,咱們能夠利用time模塊的格式化時間的方法來處理: time.localtime(time.time()) 用time.localtime()方法,做用是格式化時間戳爲本地的時間。 輸出的結果是: time.struct_time(tm_year=2010, tm_mon=7, tm_mday=19, tm_hour=22, tm_min=33, tm_sec=39, tm_wday=0, tm_yday=200, tm_isdst=0)字符串
如今看起來更有但願格式成咱們想要的時間了。 time.strftime('%Y-%m-%d',time.localtime(time.time()))string
最後用time.strftime()方法,把剛纔的一大串信息格式化成咱們想要的東西,如今的結果是: 2013-01-09import
輸出日期和時間:基礎
time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))date
%a星期的簡寫。如 星期三爲Web
%A星期的全寫。如 星期三爲Wednesday
%b月份的簡寫。如4月份爲Apr
%B月份的全寫。如4月份爲April
%c: 日期時間的字符串表示。(如: 04/07/10 10:43:39)
%d: 日在這個月中的天數(是這個月的第幾天)
%f: 微秒(範圍[0,999999])
%H: 小時(24小時制,[0, 23])
%I: 小時(12小時制,[0, 11])
%j: 日在年中的天數 [001,366](是當年的第幾天)
%m: 月份([01,12])
%M: 分鐘([00,59])
%p: AM或者PM
%S: 秒(範圍爲[00,61],爲何不是[00, 59],參考python手冊~_~)
%U: 周在當年的週數當年的第幾周),星期天做爲周的第一天
%w: 今天在這周的天數,範圍爲[0, 6],6表示星期天
%W: 周在當年的週數(是當年的第幾周),星期一做爲周的第一天
%x: 日期字符串(如:04/07/10)
%X: 時間字符串(如:10:43:39)
%y: 2個數字表示的年份
%Y: 4個數字表示的年份
%z: 與utc時間的間隔 (若是是本地時間,返回空字符串)
%Z: 時區名稱(若是是本地時間,返回空字符串)
%%: %% => %方法
複製代碼im
而後須要瞭解python中time,datetime,字符串時間之間的轉換關係,以下代碼是三者之間的轉換關係
複製代碼時間戳
jsontime = '2017-04-03'
#string->time
time.strptime(jsontime,"%Y-%m-%d")
#string->datetime
datetime.datetime.strptime(jsontime,"%Y-%m-%d")
#time->string
time.strftime("%y-%m-%d",time.localtime())
複製代碼
那麼有了轉換關係之後,比較大小就很容易了,好比我能夠把日期字符串轉換成time的時間戳來比較大小,以下
複製代碼
import time
def compare_time(time1,time2):
s_time = time.mktime(time.strptime(time1,'%Y-%m-%d'))
e_time = time.mktime(time.strptime(time2,'%Y-%m-%d'))
print 's_time is:',s_time
print 'e_time is:',e_time
return int(s_time) - int(e_time)
result = compare_time('2017-04-17','2017-04-19')
print 'the compare result is:',result
複製代碼
固然也能夠利用datetime來比較字符串的大小
import datetime d1 = datetime.datetime.strptime('2015-03-05 17:41:20', '%Y-%m-%d %H:%M:%S') d2 = datetime.datetime.strptime('2015-03-02 17:41:20', '%Y-%m-%d %H:%M:%S') delta = d1 - d2 print delta.days