python遍历一个日期范围

 

复制代码
from datetime import date, timedelta

from datetime import date  
  
f_date = date(2014, 7, 2)  
l_date = date(2014, 7, 11)  
delta = l_date - f_date  
print(delta.days)
print(delta)

print("*" * 100)
复制代码

 

复制代码
import datetime
start = '2022-10-01'
end = '2022-10-11'

datestart = datetime.datetime.strptime(start, '%Y-%m-%d')
dateend = datetime.datetime.strptime(end, '%Y-%m-%d')
print(datestart)
print(dateend)

print("*" * 100)

while datestart < dateend:
    print("打印语句写在前面:",datestart)
    datestart += datetime.timedelta(days=1)
    print("打印语句写在后面:",datestart.strftime('%Y%m%d'))
复制代码

 

 

第二种写法

复制代码
from datetime import date, timedelta

def daterange(start_date, end_date):
    for n in range(int((end_date - start_date).days)):
        yield start_date + timedelta(n)

start_date = date(2022, 10, 1)
end_date = date(2022, 10, 22)

for single_date in daterange(start_date, end_date):
    print(single_date.strftime("%Y-%m-%d"))
复制代码

 

 

import datetime

begin = datetime.date(2022, 10, 1)
end = datetime.date(2022, 10, 10)
for d in range((end - begin).days + 1):
    day = begin + datetime.timedelta(d)
    print(day)

 

 

复制代码
import datetime

begin = datetime.date(2022, 10, 1)
end = datetime.date(2022, 10, 12)
d = begin
delta = datetime.timedelta(1)
while d <= end:
    print(d)
    d += delta
复制代码

 

 

复制代码
import datetime as dt
length = 10
begin = dt.date(2022,10,11)
delta = dt.timedelta(days=1)
d = begin
ticks = []
for _ in range(length):
    ticks.append(d.strftime("%Y-%m-%d"))
    d += delta
print(ticks)
复制代码

 

 

复制代码
import datetime

t=datetime.datetime.now()
#当前日期
d1 =t.strftime('%Y-%m-%d %H:%M:%S')

#7天后
d2=(t+datetime.timedelta(days=7)).strftime("%Y-%m-%d %H:%M:%S") # +变成-,就是之前多少天日期

print(d1)
print(d2)

#任意时间
for i in range(10):
   d3=(t+datetime.timedelta(days=i)).strftime("%Y-%m-%d %H:%M:%S")
   print(d3)
复制代码

 

 

复制代码
import datetime

def dayin(dt):
        print("今天是:",dt)



t=datetime.datetime.now()
#当前日期
d1 =t.strftime('%Y-%m-%d %H:%M:%S')

#7天后
d2=(t+datetime.timedelta(days=7)).strftime("%Y-%m-%d %H:%M:%S") # +变成-,就是之前多少天日期

print(d1)
print(d2)


for i in range(10):
   d3=(t+datetime.timedelta(days=i)).strftime("%Y-%m-%d %H:%M:%S")
   #print(d3)
   dayin(d3)
复制代码

 

posted @   chengxuyonghu  阅读(1534)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示