Python日期字串比較

2021-08-07 15:10:33 字數 2054 閱讀 6976

需要用python的指令碼來快速檢測乙個檔案內的二個時間日期字串的大小,其實實現很簡單,首先一些基礎的日期格式化知識如下

'''

%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: 時區名稱(如果是本地時間,返回空字串)

%%: %% => %

'''

然後需要了解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

defcompare_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

ios 字串比較 日期比較

字串比較 1 2 3 4 5 6 7 8 字串比較 nsstring string hello nihao nsstring otherstring hello niyeyao if stringcompare otherstring nsorderedascending else 日期比較 1 2...

flex 字串轉日期及日期比較

今天專案中用得到了flex中的日期格式化和字串轉日期,網查一下統計資源如下 import mx.controls.datefield import mx.utils.objectutil 比較日期的時候呼叫 var strday string 2011 11 30 var datetoday dat...

Python 比較日期字串與當前日期的日期差

在python中經常會需要用到時間比較的情況,如爬取特定一段時間的資料,或比較某一時間值和當前時間的差 import datetime date str 2020 07 06 以此時間為例 interval datetime.datetime.today datetime.datetime.strp...