当前位置: 首页 > news >正文

【Python】根据开始时间、结束时间计算中间时间

需求

实现一个函数,两个参数开始时间、结束时间,如果没给就是当前时间往前推30天,计算这俩时间之间的所有日期,组成列表;

实现

from datetime import datetime, timedeltadef get_date_list(start_date=None, end_date=None):# 如果未提供结束时间,默认为当前时间if end_date is None:end_date = datetime.now()else:# 如果提供了结束时间,确保是datetime类型if isinstance(end_date, str):end_date = datetime.strptime(end_date, '%Y-%m-%d')# 如果未提供开始时间,默认为结束时间往前推30天if start_date is None:start_date = end_date - timedelta(days=30)else:# 如果提供了开始时间,确保是datetime类型if isinstance(start_date, str):start_date = datetime.strptime(start_date, '%Y-%m-%d')# 确保开始时间不晚于结束时间if start_date > end_date:raise ValueError("开始时间不能晚于结束时间")# 生成日期列表date_list = []current_date = start_datewhile current_date <= end_date:date_list.append(current_date.strftime('%Y-%m-%d'))current_date += timedelta(days=1)return date_list# 示例用法
if __name__ == "__main__":# 不提供参数,使用默认值(当前时间往前推30天到当前时间)print(get_date_list())# 提供开始时间和结束时间print(get_date_list("2025-01-01", "2025-01-10"))# 只提供开始时间print(get_date_list("2025-09-01"))# 只提供结束时间print(get_date_list(end_date="2025-01-10"))

验证

['2025-08-06', '2025-08-07', '2025-08-08', '2025-08-09', '2025-08-10', '2025-08-11', '2025-08-12', '2025-08-13', '2025-08-14', '2025-08-15', '2025-08-16', '2025-08-17', '2025-08-18', '2025-08-19', '2025-08-20', '2025-08-21', '2025-08-22', '2025-08-23', '2025-08-24', '2025-08-25', '2025-08-26', '2025-08-27', '2025-08-28', '2025-08-29', '2025-08-30', '2025-08-31', '2025-09-01', '2025-09-02', '2025-09-03', '2025-09-04', '2025-09-05']
['2025-01-01', '2025-01-02', '2025-01-03', '2025-01-04', '2025-01-05', '2025-01-06', '2025-01-07', '2025-01-08', '2025-01-09', '2025-01-10']
['2025-09-01', '2025-09-02', '2025-09-03', '2025-09-04', '2025-09-05']
['2024-12-11', '2024-12-12', '2024-12-13', '2024-12-14', '2024-12-15', '2024-12-16', '2024-12-17', '2024-12-18', '2024-12-19', '2024-12-20', '2024-12-21', '2024-12-22', '2024-12-23', '2024-12-24', '2024-12-25', '2024-12-26', '2024-12-27', '2024-12-28', '2024-12-29', '2024-12-30', '2024-12-31', '2025-01-01', '2025-01-02', '2025-01-03', '2025-01-04', '2025-01-05', '2025-01-06', '2025-01-07', '2025-01-08', '2025-01-09', '2025-01-10']

文章转载自:

http://XJGL4eTP.fqfkt.cn
http://jpFCTRZ8.fqfkt.cn
http://hxX0XlxD.fqfkt.cn
http://zM7cKD5G.fqfkt.cn
http://daZV7JU7.fqfkt.cn
http://0VKzeq5d.fqfkt.cn
http://VfaDvlUq.fqfkt.cn
http://njPgJYSx.fqfkt.cn
http://zcYdFbcP.fqfkt.cn
http://J2lPbo86.fqfkt.cn
http://0aSAxoIM.fqfkt.cn
http://4xgJc4tL.fqfkt.cn
http://yKooe92e.fqfkt.cn
http://514UGeU5.fqfkt.cn
http://1I1RJDN5.fqfkt.cn
http://62gAsxQU.fqfkt.cn
http://FojAZNO1.fqfkt.cn
http://FTZfJTvD.fqfkt.cn
http://7X7GsBxt.fqfkt.cn
http://iiQKHj3w.fqfkt.cn
http://iCGqTDqE.fqfkt.cn
http://R23hkRQX.fqfkt.cn
http://3kKVEjPe.fqfkt.cn
http://zal33NLQ.fqfkt.cn
http://r9lV2Uls.fqfkt.cn
http://VXYdTE8p.fqfkt.cn
http://BCvsxe7f.fqfkt.cn
http://EHxcErSm.fqfkt.cn
http://tPWlD6S0.fqfkt.cn
http://QmQOUMVU.fqfkt.cn
http://www.dtcms.com/a/369377.html

相关文章:

  • 《Istio故障溯源:从流量劫持异常到服务网格的底层博弈》
  • STC携手VEX发起全球首个碳资产RWA生态,泰国峰会即将引爆绿色金融
  • 工业设备管理软件与AI_HawkEye智能运维平台_璞华大数据
  • 调试寄录之dc-dc芯片
  • 显存与内存
  • nVisual从入门到精通—基础知识
  • 栈:有效的括号
  • TPU|DHH访谈|AI与开发
  • Linux 文件管理
  • Hive实战:如何优雅地为已存在表添加二级分区?(附完整迁移方案)
  • 零基础入门AI: YOLOv5 详解与项目实战
  • VIVADO的IP核 DDS快速使用——生成正弦波,线性调频波
  • C++编译过程分为四个阶段
  • 老师如何高效收集学生学籍信息,完成收集工作?
  • 中国移动浪潮云电脑CD1000-系统全分区备份包-可瑞芯微工具刷机-可救砖
  • VAE(变分自动编码器)技术解析
  • 毕业项目推荐:83-基于yolov8/yolov5/yolo11的农作物杂草检测识别系统(Python+卷积神经网络)
  • 植物翻译官:基于 EfficientNetB7 的植物性状预测
  • Sunlord破解AI服务器供电难题!揭秘高效、小型化电感黑科技
  • OpenCV: cv::warpAffine()逆仿射变换详解
  • 复合机器人能否更换末端执行器?
  • python使用transformer库推理
  • 【开题答辩全过程】以 智能商品数据分析系统为例,包含答辩的问题和答案
  • 终结 在我电脑上明明是好的!我们团队的协作秘诀
  • 神经网络|(十九)概率论基础知识-伽马函数·下
  • 基于STM32单片机的水位浑浊度检测设计
  • 个人健康管理系统设计与实现
  • MySQL集群——高可用架构
  • 记录自己看过的电子书方法
  • Typer 命令行工具使用示例