python 时间字符串比较

时间字符比较方法:

import datetime
import time
#way1
tms = ['2021-06-17 00:53:00','2021-06-18 00:53:00','2021-06-16 00:53:00','2021-06-19 00:53:00','2021-06-11 00:53:00']
print("===way1===")
for tm in tms:
    ntm = time.strptime(tm, "%Y-%m-%d %H:%M:%S")
    if ntm < time.strptime('2021-06-18 00:53:00', "%Y-%m-%d %H:%M:%S") and ntm > time.strptime('2021-06-11 00:53:00', "%Y-%m-%d %H:%M:%S"):
        print(type(tm), tm)
        print(type(ntm), ntm)
        print('target tm',tm)

#way2
print("===way2===")
for tm in tms:
    ntm = datetime.datetime.strptime(tm,"%Y-%m-%d %H:%M:%S")
    if ntm < datetime.datetime.strptime('2021-06-18 00:53:00', "%Y-%m-%d %H:%M:%S") and ntm > datetime.datetime.strptime('2021-06-11 00:53:00', "%Y-%m-%d %H:%M:%S"):
        print(type(tm), tm)
        print(type(ntm), ntm)
        print('target tm',tm)

输出结果

===way1===
<class 'str'> 2021-06-17 00:53:00
<class 'time.struct_time'> time.struct_time(tm_year=2021, tm_mon=6, tm_mday=17, tm_hour=0, tm_min=53, tm_sec=0, tm_wday=3, tm_yday=168, tm_isdst=-1)
target tm 2021-06-17 00:53:00
<class 'str'> 2021-06-16 00:53:00
<class 'time.struct_time'> time.struct_time(tm_year=2021, tm_mon=6, tm_mday=16, tm_hour=0, tm_min=53, tm_sec=0, tm_wday=2, tm_yday=167, tm_isdst=-1)
target tm 2021-06-16 00:53:00
===way2===
<class 'str'> 2021-06-17 00:53:00
<class 'datetime.datetime'> 2021-06-17 00:53:00
target tm 2021-06-17 00:53:00
<class 'str'> 2021-06-16 00:53:00
<class 'datetime.datetime'> 2021-06-16 00:53:00
target tm 2021-06-16 00:53:00

时间计算:输出一周前的时间

from datetime import datetime,timedelta

stm = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
etm = (datetime.now() - timedelta(days=7)).strftime("%Y-%m-%d %H:%M:%S")
print(stm,etm)
print("***END***")

你可能感兴趣的:(python,python)