时间字符比较方法:
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***")