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

如何在Python中判断日期是否为周日并生成对应数据库记录

问题修正:判断日期是否为周日并创建数据库记录

原代码的核心问题是:date_list中的元素是字符串类型,无法直接调用weekday()方法,运行时会抛出AttributeError。需要先将字符串日期转换为datetime.date对象,再进行日期判断。

修正后的代码

from datetime import datetime

date_list = ['2023-03-17', '2023-03-18', '2023-03-19', '2023-03-20']

for date_str in date_list:
    # 把字符串日期转为datetime.date对象,格式匹配'YYYY-MM-DD'
    date_obj = datetime.strptime(date_str, '%Y-%m-%d').date()
    
    # 判断是否为周日:weekday()返回6代表周日(周一为0,周六为5)
    if date_obj.weekday() == 6:
        num_of_people = '5'
        capacity = 0
    else:
        num_of_people = '15'
        capacity = 10
    
    # 创建ProductionCapacity记录
    ProductionCapacity.objects.create(
        num_of_people=num_of_people,
        date=date_obj,
        capacity=capacity
    )

补充说明

  • 如果觉得weekday()的返回值不够直观,也可以用isoweekday()方法:它返回1代表周一,7代表周日,判断条件可改为date_obj.isoweekday() ==7,逻辑完全一致。
  • 原代码中的判断date.weekday() >5其实逻辑是对的(仅周日会满足),但因为操作对象是字符串而非日期对象才导致错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 03:52:13