前言:
此时同学们对“python字符串日期比较大小”大致比较关切,看官们都需要学习一些“python字符串日期比较大小”的相关内容。那么小编在网上网罗了一些有关“python字符串日期比较大小””的相关资讯,希望姐妹们能喜欢,我们快快来学习一下吧!from datetime import datetime,date,timedelta
from dateutil.relativedelta import relativedelta
##返回两个日期之间的天数
def dates_between(d1,d2):
return abs((d1-d2).days)
##返回两个月份之间的月数
def months_between(m1,m2):
return abs(m1.year - m2.year)*12 + abs(m1.month - m2.month)
##返回两个日期之间的所有日期字符串(以英文逗号分隔,包含起止日期)
def get_all_dates_between(d1,d2):
ds=''
for i in range(dates_between(datetime.strptime(str(d1),'%Y%m%d'),datetime.strptime(str(d2),'%Y%m%d'))+1):
ds+=(datetime.strptime(str(d1),'%Y%m%d')+timedelta(days=(-i if d1>=d2 else i))).strftime("%Y%m%d")+','
return ds[:-1]
##返回两个月份之间的所有月份字符串(以英文逗号分隔,包含起止月份)
def get_all_months_between(m1,m2):
ms=''
for i in range(months_between(datetime.strptime(str(m1),'%Y%m'),datetime.strptime(str(m2),'%Y%m'))+1):
ms+=(datetime.strptime(str(m1),'%Y%m')+relativedelta(months=(-i if m1>=m2 else i))).strftime("%Y%m")+','
return ms[:-1]
print(months_between(datetime(2021,2,28), datetime(2021,12,1)))
print(months_between(datetime(2021,12,1), datetime(2021,2,28)))
print(dates_between(datetime(2021,5,1), datetime(2021,6,28)))
print(dates_between(datetime(2021,6,28), datetime(2021,5,1)))
print(get_all_months_between('202102','202112'))
print(get_all_months_between('202112','202102'))
print(get_all_dates_between('20210628','20210501'))
print(get_all_dates_between('20210501','20210628'))
标签: #python字符串日期比较大小