You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何处理含日期字符串的列表,转换为datetime可用格式以比较日期?

解决日期字符串转换与日期差值计算问题

核心思路

你可以用datetime.strptime()方法直接解析MM/DD/YYYY格式的日期字符串,无需手动拆分年、月、日,这个方法会帮你直接转换成datetime.date对象,之后就能和今日日期计算差值了。

分步实现

  • 导入模块:首先需要导入datetime模块
  • 遍历列表:对date_list中的每个子列表,提取唯一ID和日期字符串
  • 解析日期:用strptime()解析日期字符串,格式符'%m/%d/%Y'对应你的日期格式(月/日/年)
  • 计算差值:将解析后的日期与今日日期做减法,得到时间差对象

完整代码示例

import datetime

date_list = [['4272', '07/18/2022'], ['4271', '07/18/2022'], ['4254', '06/23/2022'], ['4222', '05/09/2022'], ['4174', '03/09/2022'], ['3946', '06/07/2021'], ['3918', '05/03/2021'], ['3914', '08/19/2021'], ['3907', '08/19/2021'], ['3888', '07/05/2022'], ['3784', '12/21/2020'], ['3651', '05/07/2020'], ['3644', '04/20/2020'], ['3615', '02/06/2020'], ['3140', '09/24/2018'], ['3125', '03/03/2022']]

today = datetime.date.today()

# 遍历处理每个日期
for item in date_list:
    item_id = item[0]
    date_str = item[1]
    # 解析日期字符串为date对象
    valid_date = datetime.datetime.strptime(date_str, '%m/%d/%Y').date()
    # 计算差值
    diff = valid_date - today
    # 输出结果,你可以根据需求调整输出格式
    print(f"ID: {item_id}, 日期: {date_str}, 与今日差值: {diff.days}天")

关键说明

  • datetime.strptime(date_str, '%m/%d/%Y'):第一个参数是要解析的日期字符串,第二个参数是字符串对应的格式,%m代表两位月份,%d代表两位日期,%Y代表四位年份。
  • .date():把datetime对象转换成date对象,这样和today(date类型)计算差值更匹配。
  • 时间差对象diff包含days属性,可以直接获取相差的天数。

内容的提问来源于stack exchange,提问作者Mitchell Privett

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 06:25:27