python实现的公历生日信息查询

11 阅读3分钟

公历生日信息查询工具

这是一个使用 Python Tkinter 构建的简单图形用户界面(GUI)应用程序,用于根据用户输入的公历生日查询相关信息,如年龄和星座。

创作过程

  1. 初始需求: 最初的目标是创建一个公历/农历生日转换工具,能够根据输入的日期(公历或农历)显示对应的另一种历法日期、年龄、生肖和星座。这个版本计划使用 sxtwl 库来处理复杂的农历转换和计算。

  2. 移除 sxtwl 依赖: 根据用户后续要求,移除了对 sxtwl 库的依赖。这意味着程序不再能直接进行精确的公历/农历转换,也无法获取农历特有的信息(如农历月名、天干地支、生肖等)。

  3. 功能调整与UI简化:

    • 由于移除了农历计算能力,程序的功能被调整为专注于公历日期。
    • 用户界面(UI)也相应简化:
      • 移除了"公历转农历"和"农历转公历"的转换类型选择。
      • 移除了农历闰月选择框。
      • 最初,农历日期和生肖字段显示为 "N/A (需要农历转换库)"。
  4. 进一步简化UI: 根据进一步的用户反馈,从界面上彻底移除了"农历日期"和"生肖"的显示字段,使得界面更加简洁,专注于其核心的公历信息查询功能。

功能介绍

当前版本的工具提供以下功能:

  1. 公历日期输入:

    • 用户可以在图形界面中输入公历的年、月、日。
  2. 输入验证:

    • 程序会对输入的年、月、日进行基本的格式检查(确保为数字)。
    • 使用 Python 内置的 datetime 模块验证输入的公历日期是否有效(例如,不会接受2月30日这样的无效日期)。
    • 如果输入为空或日期无效,会弹出错误提示框。
  3. 信息查询与显示: 当用户输入有效的公历生日并点击"查询"按钮后,程序会计算并显示以下信息:

    • 公历日期: 格式化显示用户输入的公历生日。
    • 年龄: 根据输入的公历生日和当前系统日期,计算并显示用户的周岁。如果输入的是未来日期,则会提示"未来日期"。
    • 星座: 根据公历生日的月份和日期,推算并显示对应的星座。

如何运行

  1. 确保您的 Python 环境已安装 Tkinter(通常是 Python 标准库的一部分)。
  2. birthday_converter.py 代码保存到本地。
  3. 通过命令行运行脚本:
    python birthday_converter.py
    
    或者在支持 Python 的集成开发环境 (IDE) 中直接运行该文件。

待办/未来可能的改进 (可选)

  • 如果需要,可以重新引入农历转换库 (如 sxtwl 或其他替代品) 以恢复农历相关功能。
  • 美化UI界面。
  • 增加更多日期相关的信息或趣味功能。

1.png