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

如何修复Python datetime传参前导零报错及获取星期几的问题

修复方案

错误原因

  • 触发SyntaxError的直接原因:Python 3 禁止十进制整数字面量携带前导零,代码中月份参数写的07不符合语法规范,直接去掉前导零写为7即可解决语法报错。
  • 代码隐含的其他问题:import datetime语句写在函数内部,函数外部创建datetime对象时无法访问到导入的模块,同时创建datetime对象的语法缺少模块调用层级,需要同步修正。

可直接运行的正确代码

import datetime

def day_of_week(date):
    return datetime.datetime.strftime(date, '%A')

date = datetime.datetime(2021, 7, 31)
print(day_of_week(date))

运行后输出结果为:Saturday

优化写法(更简洁)

可以直接从datetime模块导入datetime类,减少重复代码:

from datetime import datetime

def day_of_week(date):
    return date.strftime('%A')

date = datetime(2021, 7, 31)
print(day_of_week(date))

扩展:支持直接传入日期字符串

如果需要传入字符串格式的日期(如2021-07-31),可以调整函数逻辑先做格式转换:

from datetime import datetime

def day_of_week(date_str, date_format="%Y-%m-%d"):
    date_obj = datetime.strptime(date_str, date_format)
    return date_obj.strftime("%A")

print(day_of_week("2021-07-31"))

内容的提问来源于stack exchange,提问作者Muhammad Umar Bilal

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 22:57:00