python如何生成只有年月日的时间列表?

python如何生成一个


['2023-07-05','2023-07-06','2023-07-07','2023-07-08']

这样的列表

然后我写那段代码,如下

from datetime import datetime,timedelta
def generate_timelist(start_time,end_time):
    time_list = []
    current_time = start_time
    while current_time<= end_time:
        time_list.append(current_time)
        current_time+=timedelta(days=1)
    return time_list

start_time = datetime(2023,7,5)  #创建一个时间对象
end_time = datetime(2023,7,7)
time_list = generate_timelist(start_time,end_time)

for times in time_list:
    print(times)

生成的时间列表是这样的,如下

img

使用strftime()函数来格式化下日期;

然后如果要将产生的日期字符串添加到列表,可以再定义一个列表,然后在循环中将每一个日期字符串添加到列表即可。

修改如下:

参考链接:


datetime --- 基本日期和时间类型 — Python 3.11.4 文档 源代码: Lib/datetime.py datetime 模块提供用于处理日期和时间的类。 在支持日期时间数学运算的同时,实现的关注点更着重于如何能够更有效地解析其属性用于格式化输出和数据操作。 感知型对象和简单型对象: 日期和时间对象可以根据它们是否包含时区信息而分为“感知型”和“简单型”两类。 充分掌握应用性算法和政治性时间调整信息例如时区和夏令时的情况下,一个 感知型 对象就能相对于... https://docs.python.org/zh-cn/3/library/datetime.html

python 时间格式化(time,datetime)_u014401742的博客-CSDN博客 datetime ##1. time模块###1.1. 获取当前时间>>> import time>>> time.localtime(time.time())time.struct_time(tm_year=2019, tm_mon=5, tm_mday=27, tm_hour=2, tm_min=32, tm_sec=50, tm_wday=0,..._python 时间格式化 https://blog.csdn.net/u014401742/article/details/90592739


from datetime import datetime,timedelta
def generate_timelist(start_time,end_time):
    time_list = []
    current_time = start_time
    while current_time<= end_time:
        time_list.append(current_time)
        current_time+=timedelta(days=1)
    return time_list
 
start_time = datetime(2023,7,5)  #创建一个时间对象
end_time = datetime(2023,7,7)
time_list = generate_timelist(start_time,end_time)

timeResult = []  #  存储日期字符串的列表
for times in time_list:
    # https://blog.csdn.net/u010591976/article/details/104271196
    # https://docs.python.org/zh-cn/3/library/datetime.html
    # https://blog.csdn.net/u014401742/article/details/90592739
    t = times.strftime('%Y-%m-%d')
    timeResult.append(t) # 将格式化后的日期添加到列表
    print(t)
   
# 打印列表结果
print(timeResult)


img

datetime和timedelta模块来实现

如有帮助请点个采纳~

from datetime import datetime,timedelta
def generate_timelist(start_time,end_time):
    time_list = []
    current_time = start_time
    while current_time<= end_time:
        time_list.append(current_time.strftime("%Y-%m-%d"))
        current_time+=timedelta(days=1)
    return time_list
 
start_time = datetime(2023,7,5)  #创建一个时间对象
end_time = datetime(2023,7,7)
time_list = generate_timelist(start_time,end_time)
 
for times in time_list:
    print(times)

print(times.strftime("%Y-%m-%d"))