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

如何获取tkcalendar.DateEntry组件中用户选择的日期?

问题解决:获取tkcalendar.DateEntry的日期并存入SQL

核心错误原因

你代码里的问题出在这一行:

self.dobentered = DateEntry(self.master,selectmode='day').grid(row=2,column=1)

grid()方法的返回值是None,所以self.dobentered实际是None,自然调用不了get_date()方法。必须把控件创建和布局排版拆分成两行代码。

修正后的代码示例

# 先创建DateEntry控件,赋值给self.dobentered
self.dobentered = DateEntry(self.master, selectmode='day')
# 再调用grid方法布局
self.dobentered.grid(row=2, column=1)

# 现在可以正常获取日期了
# 获取datetime.date类型的日期对象(推荐,适合后续处理)
selected_date = self.dobentered.get_date()

# 转成YYYY-MM-DD格式的字符串(适合直接存入SQL)
date_str = selected_date.strftime("%Y-%m-%d")

补充说明

  • get_date()返回的是标准的datetime.date对象,直接用这个类型和SQL数据库交互时,大部分Python的SQL库(比如sqlite3、psycopg2、SQLAlchemy)都能自动处理,不需要手动转字符串。
  • 如果确实需要字符串格式,用strftime("%Y-%m-%d")就能得到你要的YYYY-MM-DD格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 19:22:05