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

Python从MySQL提取日期后如何转为YYYY-MM-DD格式?

解决Python提取MySQL日期格式问题

你拿到的(datetime.date(2022, 12, 6),)是因为fetchone()返回的是元组,里面的元素是Python的datetime.date对象,直接打印元组就会显示这种格式。要得到YYYY-MM-DD格式,只需取出元组里的日期对象再格式化即可,给你两种简单方法:

方法1:用strftime()指定格式(推荐,格式可控)

直接调用datetime.date对象的strftime方法,传入格式字符串%Y-%m-%d就能生成目标格式:

cur = sqlCon.cursor()
cur.execute("select datedue from library where member=%s ", Member.get())
row = cur.fetchone()

# 先判断是否查询到结果,避免空指针
if row:
    # 取出元组里的日期对象
    date_due = row[0]
    # 格式化日期
    formatted_date = date_due.strftime('%Y-%m-%d')
    print(formatted_date)  # 输出:2022-12-06
else:
    print("未找到该会员的到期日期")

方法2:直接转字符串(更简洁)

Python的datetime.date对象转字符串时,默认就是YYYY-MM-DD格式,所以直接用str()转换就行:

if row:
    date_due = row[0]
    print(str(date_due))  # 输出:2022-12-06

另外你原来的代码里for x in row: print(row)是重复打印整个元组,这没必要,直接取出元组第一个元素处理就好。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 10:55:20